基本上我有一個計劃,A,實時發送結果(不僅僅是數據點)到另一個程序,B,處理。每個數據點作爲一個UDP數據包發送,在特定的端口和127.0.0.1上,包含該點作爲一個字符串。當B未運行,我可以做聽一個端口已經在使用Python中的UDP數據包?
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("127.0.0.1, port))
while True:
data, addr = sock.recvfrom(65565)
然後很明顯,當B正在運行,我得到
[Errno 98] Address already in use
我怎樣才能看到這些端口發送的數據包?在過去的(單獨的項目),我不得不使用
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_UDP)
裏面看到所有傳入和傳出UDP數據包
數據包嗅探器,但似乎過度。我只需要查看來自特定端口的數據包。我對這個較低層的套接字編程相當陌生。任何幫助表示讚賞
這按預期工作。雖然,根據這個,Scapy的明顯比使用較低級別的插座慢,所以我結束了我的implementation.http堅持://askldjd.com/2014/01/15/a-reasonably-fast-python-ip-嗅探器/ – Shatnerz