Python3利用scapy局域网实现自动多线程arp扫描功能
一、所需Python库
from scapy.all import * import threading
二、实现ip扫描
1.获取c段ip地址
在ARP()里面有ip地址,我们可以从里面提取出前3段出来
ARP().show()
然后通过从后查找最后一个.得到最后一段位数,然后总长度-最后一段长度就能取出前3段
tip=ARP().psrc print(tip[:(len(tip)-tip[::-1].find('.'))])
2.arp扫描函数实现
然后就是建立函数实现扫描了,构造arp包->发送包->判断是否响应->输出信息
def ScanIp(ip): pkt=Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip) res=srp1(pkt,timeout=10,verbose=0) if res: print(res.psrc) print(res.hwsrc)
然后来在加个判断返回的ip跟我们要扫描的ip是否一致,然后加上异常处理
def ScanIp(ip): pkt=Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip) try: res=srp1(pkt,timeout=10,verbose=0) if res.psrc==ip: print(res.psrc) print(res.hwsrc) except: pass
现在把输出结果美化一下,不然直接print很难看
def ScanIp(ip): pkt=Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip) try: res=srp1(pkt,timeout=10,verbose=0) if res.psrc==ip: print('IP MAC') print('[+]'+res.psrc+' '+res.hwsrc) except: pass
尝试调用一下
ScanIp('192.168.123.1')
现在看起来就很舒服
3.多线程
现在我们只需要循环一下c段ip然后用多线程跑起来就行了
for i in range(1,256): ip=tip+str(i) Go=threading.Thread(target=ScanIp,args=(ip,)) Go.start()
然后看一下效果好像不是我们想要的因为IP MAC输出了很多次看起来很难受
然后这里把输出移动到函数外的for循环上方,然后判断一下__name__,这样就完成了所有的功能了
from scapy.all import * import threading tip=ARP().psrc tip=tip[:(len(tip)-tip[::-1].find('.'))] def ScanIp(ip): pkt=Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip) try: res=srp1(pkt,timeout=10,verbose=0) if res.psrc==ip: print('[+]'+res.psrc+' '+res.hwsrc) except: pass if __name__=='__main__': print('IP MAC') for i in range(1,256): ip=tip+str(i) Go=threading.Thread(target=ScanIp,args=(ip,)) Go.start()
运行效果
到此这篇关于Python3利用scapy局域网实现自动多线程arp扫描功能的文章就介绍到这了,更多相关Python scapy实现arp扫描内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python使用PyMongo4.x操作MongoDB的教程分享
PyMongo是一个Python编程语言中用于连接和操作MongoDB数据库的库,它提供了丰富的功能和API,使开发者能够在Python中轻松地进行MongoDB的数据交互和管理,本文给大家总结了Python如何使用PyMongo4.x操作MongoDB,需要的朋友可以参考下2023-09-09Jupyter Notebook运行Python代码实现传参方式
这篇文章主要介绍了Jupyter Notebook运行Python代码实现传参方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-07-07python使用itchat库实现微信机器人(好友聊天、群聊天)
itchat是一个开源的微信个人号接口,可以使用该库进行微信网页版中的所有操作。本文主要使用该库完成一个能够处理微信消息的的图灵机器人,包括好友聊天、群聊天,感兴趣的朋友跟随小编一起学习吧2018-01-01
最新评论