簡體   English   中英

Scapy/ARP 請求不適用於多個/范圍 IP。 僅適用於單個 IP 請求

[英]Scapy/ARP request does not work for multiple/range IPs. Only for a single IP request

我正在創建一個簡單的 function,它應該收集我網絡中所有設備的 MAC 地址。

import scapy.all as scapy

def network_scan(ip):
   arp_request = scapy.ARP(pdst=ip)
   print(arp_request.summary())

network_scan("10.0.2.1/24")

此 ARP 請求返回“ARP who has?? says??”

但是當我嘗試請求單個 IP 的 MAC 地址時,效果很好:

network_scan("10.0.2.1")

單 IP output: ARP 有 10.0.2.1 說myIP

您傳遞給層 ARP 的值就可以了。 但是您的代碼沒有向網絡發送/接收任何數據包。

你可以在這里看到完整的解決方案: https://www.thepythoncode.com/article/building-network-scanner-using-scapy

現在,為什么它似乎適用於您的 IP? arp_request.summary() 嘗試解析 IP 並看到它是你的。 但掃描部分仍然需要發送數據包

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM