簡體   English   中英

監聽正在使用的端口

[英]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.

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