Как генерировать пакеты Tcp, IP и UDP в Python? - PullRequest
7 голосов
/ 20 ноября 2011

Может кто-нибудь сказать мне, что является основным шагом для создания пакетов UDP, TCP и IP. И как я могу сгенерировать его с помощью Python?

Ответы [ 2 ]

10 голосов
/ 20 ноября 2011

, как предлагает jokeysmurf, вы можете создавать пакеты со scapy

если вы хотите отправлять / получать обычные пакеты, тогда вы должны использовать сокет или сокет-сервер

для отправки 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)

чтобы сделать это UDP, измените SOCK_STREAM на SOCK_DGRAM

6 голосов
/ 20 ноября 2011

Вы можете выполнять интерактивные манипуляции с пакетами с помощью scapy .

Эта статья поможет вам начать склеивание IP-пакета.

Создание tcp-пакета так же просто, как:

packet = IP(src="10.0.0.10")

...