如何在Python中生成Tcp,ip和Udp数据包?

Pra*_*dey 7 python network-programming network-protocols

谁能告诉我生成UDP,TCP和IP数据包的基本步骤是什么.我怎样才能用Python生成它?

Mua*_*adi 10

按照jokeysmurf的建议,你可能会用scapy制作包装

如果你想发送/接收通常的数据包,那么你应该使用socket或socketserver

发送TCP到谷歌的端口80使用

    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)
Run Code Online (Sandbox Code Playgroud)

使其udp将SOCK_STREAM更改为SOCK_DGRAM


小智 6

您可以使用scapy进行交互式数据包操作.

文章将会让你开始粘在一起的IP数据包.

构建tcp包非常简单:

packet = IP(src="10.0.0.10")