[英]Listening on port being used
是否可以通過python socket
模塊偵聽另一個程序當前正在使用的特定端口上的流量? 例如:
|--> my program
external request -> Host ->|--> intended program
我不希望發回對請求的響應,我只是想要流量。 我一直在使用socket.SO_REUSEADDR
方法,但是我認為這僅僅是為了避免必須等待套接字的超時,而不是允許其他偵聽器。
你可以用scapy做到這一點
參見http://www.secdev.org/projects/scapy/doc/usage.html#sniffing
要在您自己的python程序中使用它,您必須導入sniff命令
from scapy.all import sniff
a=sniff("tcp and port 1337")
嗅探具有多種選項(回調功能,超時,數據包數量等)
socket.SO_REUSEADDR選項有助於將兩個應用程序綁定到同一端口並接收發往該端口的數據包。 因此,我不確定問題中的超時注釋是什么意思。 唯一的問題是,對於某些平台(包括Linux),兩個套接字都必須設置SO_REUSEADDR,否則,第二個套接字將無法綁定。 因此,如果您不能修改預期的程序(讓我們說這是一個標准的第三方程序),那么使用SO_REUSEADDR可能是個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.