Python报文操作模块scapy
pip install scapy
-----------------------------------------------
import scapy
'''
介绍:
Scapy 是一个强大的操纵报文的交互程序。
它可以伪造或者解析多种协议的报文,还具有发送、捕获、匹配请求和响应这些报文以及更多的功能。
Scapy 可以轻松地做到像扫描(scanning)、路由跟踪(tracerouting)、探测(probing)、单元测试(unit tests)、攻击(attacks)和发现网络(network discorvery)这样的传统任务。
它可以代替hping,arpspoof,arp-sk,arping,p0f 甚至是部分的Namp,tcpdump和tshark 的功能
'''
-----------------------------------------------
中文文档:https://www.ctolib.com/docs-scapy-doc-c-Introduction.html
demo:
from scapy.all import * from scapy import all from scapy.layers.inet import IP,ICMP import logging from random import randint ''' 介绍: Scapy 是一个强大的操纵报文的交互程序。 它可以伪造或者解析多种协议的报文,还具有发送、捕获、匹配请求和响应这些报文以及更多的功能。 Scapy 可以轻松地做到像扫描(scanning)、路由跟踪(tracerouting)、探测(probing)、单元测试(unit tests)、攻击(attacks)和发现网络(network discorvery)这样的传统任务。 它可以代替hping,arpspoof,arp-sk,arping,p0f 甚至是部分的Namp,tcpdump和tshark 的功能 中文文档:https://www.ctolib.com/docs-scapy-doc-c-Introduction.html ''' logging.getLogger("scapy.runtime").setLevel(logging.ERROR) def start(host): id_ip = randint(1,65535)#ip_id id_ping = randint(1,65535)#ping_id seq_ping = randint(1,65535)#ping序列号 #构造ping数据包 packet = IP(dst=host,ttl=1,id=id_ip,)/ICMP(id=id_ping,seq=seq_ping)/b'hello man' #获取响应信息,超时2秒,开启详细信息。 ping = sr1(packet,timeout=2,verbose=True) #sr1:发送三层数据包,只等待接受一个数据包响应 if ping: ping.show() os._exit(3) if __name__ == '__main__': start(sys.argv[1])
import ipaddress import time from multiprocessing import Process,Queue import sys from Scapy_demo.ping_demo import start def more_start(network): net = ipaddress.ip_network(network) ip_process = {} for ip in net: ip_addr = str(ip) ping_one = Process(target=start,args=(ip_addr,)) # ping_one.join() ping_one.start() ip_process[ip_addr] = ping_one ip_list = [] for ip,process in ip_process.items(): if process.exitcode == 3 : ip_list.append(ip) else: process.terminate() return sorted(ip_list) if __name__ == '__main__': begin = time.time() active_ip = more_start(sys.argv[1]) print("*****ACTIVE IP*****") for ip in active_ip: print(ip) end = time.time() print(end-begin)
更多内容需要对照官方文档自学