【发布时间】:2017-03-15 21:47:39
【问题描述】:
我正在 Python3 中开发一个自定义数据包嗅探器。
它不必独立于平台。我正在使用 Linux。
我使用的方法是从套接字(AF_PACKET、SOCK_RAW)recvfrom()。
它工作正常,但我对 recvfrom() 返回的信息有疑问。
recvfrom() 返回一个包含 5 个组件的元组。
示例:('eno1', 2054, 0, 1, b'\x00!\x9b\x16\xfa\xd1')
我如何解释最后 4 个组件?
它记录在哪里?
我不喜欢使用 libpcap 或 scapy。
好的!这是一个代码片段:
s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.ntohs(0x0003))
...
数据包,pktAdr = s.recvfrom(65565)
print('pktAdr:'+str(pktAdr))
谢谢!
【问题讨论】:
-
记录在哪里?在 docs.python.org 上怎么样?此外,如果您需要帮助,则需要显示您的代码。
标签: python-3.x sockets packet-sniffers