[英]Python Scapy - Meaningful Interfaces Name
我正在Windows 7上使用python 2.6和Scapy構建嗅探器。當用戶想要開始嗅探時,我給他一個選擇他想要嗅探的接口的選項,這給了我這些接口-
def get_interfaces():
"""returns a list of available network interfaces"""
interfaces = []
for iface_name in sorted(ifaces.data.keys()):
dev = ifaces.data[iface_name]
mac = str(dev.mac)
mac = conf.manufdb._resolve_MAC(mac)
i = Interface(
name=str(dev.name).ljust(4),
ip=dev.ip.ljust(15),
mac=mac.upper()
)
interfaces.append(i)
return interfaces
接口是我用來輕松傳遞有關接口數據的類。 我的問題是為什么名稱始終為“ ethX” ,這是什么意思? 如何將其轉換為更有意義的內容,例如“ Wireshark ”的“無線網絡連接”或“ VirtualBox僅主機網絡” ?
ethX是在Linux上列出ETHernet設備的傳統方法。 我建議您閱讀關於stackexchange的解釋
至於獲取接口的人名,這是使用Python的主要技巧。 Mi的第一個建議是查看Scapy存儲庫中ifaces的實現。 在那里,您將能夠確定可以訪問的每個數據。
做到這一點的困難而又好的方法是通過Python的解析器訪問WinAPI。 更簡單(更臟)的方法是通過無頭的Powershell獲得名稱並將其映射到您的地址。
無論如何,您選擇了一個挑釁的項目。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.