溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Kali-Python scapy模塊-掃描

發(fā)布時間:2020-07-08 20:21:38 來源:網(wǎng)絡(luò) 閱讀:1301 作者:Nicky_Zheng 欄目:編程語言

Kali Python3環(huán)境安裝scapy模塊

pip3?install?scapy

本地網(wǎng)卡網(wǎng)段arp_scan腳本

#!/usr/bin/python3

import?logging
import?subprocess
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from?scapy.all?import?*
if?len(sys.argv)?!=?2:
????print("使用方法?-?./arp_ping.py?[interface]")
????print("示例?-?./arp_ping.py?eth0")
????print("用于掃描網(wǎng)卡所在的C類地址段")
????sys.exit()
interface?=?str(sys.argv[1])
ip?=?str(subprocess.check_output("ifconfig?"+?interface?+?"?|?grep?'broadcast'?|?cut?-d?'?'?-f?10?|?cut?-d?'.'?-f?1-3",?shell=True).strip(),?encoding='utf-8')
prefix?=?str(ip?+?'.')、
"""過濾出網(wǎng)段信息,輸出信息如:x.x.x."""
for?addr?in?range(0,254):
????answer?=?sr1(ARP(pdst?=?prefix+str(addr)),timeout?=?1,?verbose?=?0)
????if?answer?==?None:
??????"""返回結(jié)果為空,則說明目標(biāo)未響應(yīng),并繼續(xù)掃描下一個,否則打印目標(biāo)ip信息"""
????????pass
????else:
????????print(prefix+str(addr)?+?"存活")

C類網(wǎng)段ping_scan腳本

#!?/usr/bin/python3

import?logging
import?subprocess
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from?scapy.all?import?*
if?len(sys.argv)?!=2:
"""如果輸入的參數(shù)不是2個,打印輸入示例,并退出"""
print("使用方法:?python3?ping_scan.py?x.x.x.0/24")
sys.exit()
address?=?str(sys.argv[1])
prefix?=?address.split('.')[0]?+?'.'?+?address.split('.')[1]?+?'.'?+?address.split('.')[2]?+?'.'
for?addr?in?range(1,254):
answer?=?sr1(IP(dst=prefix?+str(addr))/ICMP(),?timeout?=?1,?verbose?=?0)
if?answer?==?None:
pass
else:
print(prefix?+?str(addr)?+?"存活")

TCP掃描(通過目標(biāo)ip是否有回包判斷存活狀態(tài))

#?usr/bin/python3

import?logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from?scapy.all?import?*

if?len(sys.argv)?!=?2:
	print("使用示例:python3?ACK_ping.py?192.168.95.0")
	print("對192.168.95.0/24?進(jìn)行TCP?ACK?ping?掃描")
	sys.exit()

address?=?str(sys.argv[1])
prefix?=?address.split('.')[0]?+?'.'?+?address.split('.')[1]?+?'.'?+?address.split('.')[2]?+?'.'
for?addr?in?range(1,10):
	"""對目標(biāo)ip的2222端口發(fā)送?TCP?ACK報文"""
	response?=?sr1(IP(dst=prefix?+?str(addr))/TCP(dport?=?2222,?flags?=?'A'),?timeout?=?1,?verbose?=?0)
	try:
		if?int(response[TCP].flags)?==?4:
			"""如果響應(yīng)報文中的TCP?flags字段為4,即目標(biāo)reset連接,打印目標(biāo)ip"""
			print(prefix?+?str(addr)?+?"存活")
	except:
		pass


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI