簡體   English   中英

如何在 Python 中生成 TCP、IP 和 UDP 數據包

[英]How To Generate TCP, IP And UDP Packets In Python

誰能告訴我用 Python 生成 UDP、TCP 和 IP 數據包的最基本方法嗎?

根據jokeysmurf 的建議,您可以使用scapy制作數據包

如果你想發送/接收常規的,即非自定義的數據包,那么你應該使用 socket 或 socketserver:

例如,要向 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。

您可以使用scapy進行交互式數據包操作。

本文將幫助您開始將 IP 數據包粘合在一起。

構建 tcp 數據包非常簡單:

packet = IP(src="10.0.0.10")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM