【发布时间】:2012-01-02 01:42:06
【问题描述】:
谁能告诉我用 Python 生成 UDP、TCP 和 IP 数据包的最基本方法?
【问题讨论】:
标签: python network-programming network-protocols
谁能告诉我用 Python 生成 UDP、TCP 和 IP 数据包的最基本方法?
【问题讨论】:
标签: python network-programming network-protocols
根据jokeysmurf 的建议,您可以使用scapy 制作数据包
如果您想发送/接收常规的,即非自定义的数据包,那么您应该使用套接字或套接字服务器:
例如,要向 Google 的 80 端口发送 TCP HTTP GET 请求,请使用:
import socket
HOST = 'google.com' # The remote host
PORT = 80 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send('GET / HTTP/1.1\r\nHost: google.com\r\n\r\n')
data = s.recv(1024)
s.close()
print 'Received', repr(data)
要发送 UDP 而不是 TCP,请将 SOCK_STREAM 更改为 SOCK_DGRAM。
【讨论】: