侦听端口上的所有传入流量

时间:2016-03-03 01:30:54

标签: python http traffic

使用python,我编译了以下脚本:

from socket import *

socket = socket(AF_INET, SOCK_DGRAM)
socket.bind(("127.0.0.1", 80))
while True:
    data, addr = socket.recvfrom(1024)
    print addr[1]

它应该从端口80接收所有传入的流量。但是,如果我加载一个网页,它没有任何重要的东西。我的脚本有问题吗?

2 个答案:

答案 0 :(得分:2)

这里似乎存在一些误解,并希望明确未来的访客。当您访问网站时,您不会从端口80发送数据包,您将数据包从随机端口发送到另一台计算机的端口80。在这种情况下,当您访问网站时,您希望在端口80上有数据包:这不可能发生。这仅适用于您托管网站或收听该端口的情况。

答案 1 :(得分:1)

如果您真的想在所有接口上侦听所有传入流量,可能尝试绑定到0.0.0.0而不是127.0.0.1?

正如刚才所说,你的套接字配对有点奇怪。这应该让你开始:

from socket import *

s = socket(AF_INET, SOCK_STREAM)
s.bind(('0.0.0.0', 80))
s.listen(1)
while True:
    print s.accept()[1]