Python 3.4非常简单的数据包嗅探器

问题描述:

如何在选定的服务器和端口上进行数据包嗅探器?像Wpe Pro或RPE,但我想使用Python和'打印'来写这些数据包。我试过这个:Python 3.4非常简单的数据包嗅探器

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或其他什么是错的?)。我如何正确地做到这一点?

我有工作发送然后接收代码,并将其变为一个小东西是这样的:

# 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是对你的思念是这样吗?

pypcaplibpcap的一个简化的面向对象的Python包装 - 当前的tcpdump.org版本和Windows的WinPcap端口。

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