激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

延伸 · 閱讀

精彩推薦
943
主站蜘蛛池模板: 成人福利在线看 | 在线播放免费播放av片 | 免费观看一级淫片 | 国产精品69久久 | 欧美成人免费一区二区三区 | 国产女同疯狂激烈互摸 | av电影直播 | 国产精品视频在 | 黄色国产在线观看 | 亚洲综合精品 | 久久精品视频16 | 精品一区二区免费 | 黄色网址免费在线播放 | 国产精品久久久久一区二区 | 国产精品高潮99久久久久久久 | 日韩一级免费毛片 | 亚洲福利在线免费观看 | 一本一道久久久a久久久精品91 | 福利在线影院 | 久久污| 久久6国产 | 精品国产高清一区二区三区 | 深夜福利视频绿巨人视频在线观看 | 在线香蕉视频 | xxxx69hd一hd72 | 午夜精品老牛av一区二区三区 | 成人毛片在线免费看 | 天天操天天骑 | 国产成人高清成人av片在线看 | 又黄又爽免费无遮挡在线观看 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | 成人免费福利视频 | 黄色成人短视频 | 一区二区久久久久草草 | 国产影视| 成人羞羞在线观看网站 | 成人免费福利视频 | 国产一区二区三区视频观看 | 国产精品久久久久久久久久免 | 久久99精品国产自在现线 | 成人国产在线看 |