【问题标题】:Python 3.4 very simple packet snifferPython 3.4 非常简单的数据包嗅探器
【发布时间】:2015-06-18 23:42:03
【问题描述】:

如何在选定的服务器和端口上进行数据包嗅探器?像 Wpe Pro 或 RPE 之类的东西,但我想使用 Python 和“打印”来编写这些数据包。我试过这个:

import socket

UDP_IP = "xx.xx.xx.xx"
UDP_PORT = xxxx

sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.bind((UDP_IP, UDP_PORT))

while True:
    data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
    print("received message:", data)

但我认为它不起作用(UDP 或其他错误?)。我怎样才能正确地做到这一点?

【问题讨论】:

    标签: python sniffer


    【解决方案1】:

    我有发送然后接收的工作代码,它有点像这样:

    # set up the UDP socket
    connection = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    connection.settimeout(5)
    
    # Send packet by UDP
    connection.sendto(request_bytes, (UDP_IP, UDP_PORT))
    
    # Receive response packet
    response_bytes = connection.recv(4096)
    

    会不会是您缺少settimeout

    【讨论】:

      【解决方案2】:

      pypcaplibpcap 的一个简化的面向对象的 Python 包装器 - 当前 tcpdump.org 版本,以及适用于 Windows 的 WinPcap 端口。

      这可能会为您节省一些时间。

      【讨论】:

        猜你喜欢
        • 2014-08-31
        • 2011-09-29
        • 2015-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-02
        • 2015-04-02
        • 1970-01-01
        相关资源
        最近更新 更多