一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python3利用scapy局域網實現自動多線程arp掃描功能

Python3利用scapy局域網實現自動多線程arp掃描功能

2021-08-27 00:33Junе Python

這篇文章主要介紹了Python3利用scapy局域網實現自動多線程arp掃描功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、所需Python

  1. from scapy.all import *
  2. import threading

二、實現ip掃描

1.獲取c段ip地址

在ARP()里面有ip地址,我們可以從里面提取出前3段出來

  1. ARP().show()

Python3利用scapy局域網實現自動多線程arp掃描功能

然后通過從后查找最后一個.得到最后一段位數,然后總長度-最后一段長度就能取出前3段

  1. tip=ARP().psrc
  2. print(tip[:(len(tip)-tip[::-1].find('.'))])

2.arp掃描函數實現

然后就是建立函數實現掃描了,構造arp包->發送包->判斷是否響應->輸出信息

  1. def ScanIp(ip):
  2. pkt=Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip)
  3. res=srp1(pkt,timeout=10,verbose=0)
  4. if res:
  5. print(res.psrc)
  6. print(res.hwsrc)

然后來在加個判斷返回的ip跟我們要掃描的ip是否一致,然后加上異常處理

  1. def ScanIp(ip):
  2. pkt=Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip)
  3. try:
  4. res=srp1(pkt,timeout=10,verbose=0)
  5. if res.psrc==ip:
  6. print(res.psrc)
  7. print(res.hwsrc)
  8. except:
  9. pass

現在把輸出結果美化一下,不然直接print很難看

  1. def ScanIp(ip):
  2. pkt=Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip)
  3. try:
  4. res=srp1(pkt,timeout=10,verbose=0)
  5. if res.psrc==ip:
  6. print('IP MAC')
  7. print('[+]'+res.psrc+' '+res.hwsrc)
  8. except:
  9. pass

嘗試調用一下

  1. ScanIp('192.168.123.1')

現在看起來就很舒服

Python3利用scapy局域網實現自動多線程arp掃描功能

3.多線程

現在我們只需要循環一下c段ip然后用多線程跑起來就行了

  1. for i in range(1,256):
  2. ip=tip+str(i)
  3. Go=threading.Thread(target=ScanIp,args=(ip,))
  4. Go.start()

然后看一下效果好像不是我們想要的因為IP MAC輸出了很多次看起來很難受

Python3利用scapy局域網實現自動多線程arp掃描功能

然后這里把輸出移動到函數外的for循環上方,然后判斷一下__name__,這樣就完成了所有的功能了

  1. from scapy.all import *
  2. import threading
  3.  
  4. tip=ARP().psrc
  5. tip=tip[:(len(tip)-tip[::-1].find('.'))]
  6.  
  7. def ScanIp(ip):
  8. pkt=Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip)
  9. try:
  10. res=srp1(pkt,timeout=10,verbose=0)
  11. if res.psrc==ip:
  12. print('[+]'+res.psrc+' '+res.hwsrc)
  13. except:
  14. pass
  15.  
  16. if __name__=='__main__':
  17. print('IP MAC')
  18. for i in range(1,256):
  19. ip=tip+str(i)
  20. Go=threading.Thread(target=ScanIp,args=(ip,))
  21. Go.start()

運行效果

Python3利用scapy局域網實現自動多線程arp掃描功能

到此這篇關于Python3利用scapy局域網實現自動多線程arp掃描功能的文章就介紹到這了,更多相關Python scapy實現arp掃描內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_40226096/article/details/112817637

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜性色一区二区三区不卡视频 | 好男人影视社区www在线观看 | juliaann丝袜精品系列 | 2022国产麻豆剧传媒古装 | 国产自拍专区 | 成人网免费视频 | 变态 另类 国产 亚洲 | 亚洲国产精品综合福利专区 | 久久久久国产一级毛片高清片 | 古装一级无遮挡毛片免费观看 | 精品一区在线 | 亚洲青草 | 美女的隐私无遮挡撒尿 | 日韩免费在线视频 | 公交车揉捏大乳呻吟喘娇 | 婷婷综合在线 | 久久这里只有精品无码3D | 天天视频国产精品 | 日韩欧美视频二区 | 久久免费看少妇高潮A片特爽 | 日韩欧美国产综合精品 | 国产日本免费 | 日韩视频免费观看 | 好姑娘在线完整版视频 | melody中文字幕 | 日本黄色一区 | 美女脱了内裤让男桶爽 | 动漫美女被吸乳 | 大陆黄色片 | 91精品国产一区 | 涩涩五月天 | 国内自拍成人网在线视频 | 日本高清免费中文字幕不卡 | 91视频99| 九九精品热 | 亚洲国产精品日本无码网站 | 双性受合不垅腿攻np | 1986葫芦兄弟全集免费观看第十集 | 国产一区二区在线观看美女 | 5566中文字幕亚洲精品 | 天美传媒果冻传媒星空传媒 |