Can anyone tell me what is the basic step to generate UDP, TCP and IP Packets. And how can i generate it using Python?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
as suggested by jokeysmurf you might craft packets with scapy
if you you want to send/receive usual packets then you should use socket or socketserver
- http://docs.python.org/library/socket.html#module-socket
- http://docs.python.org/library/socketserver.html#module-SocketServer
to send TCP to google's port 80 use
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)
to make it udp change SOCK_STREAM to SOCK_DGRAM
回答2:
You can do interactive packet manipulation with scapy.
This article is going to get you started on gluing together an IP packet.
Construction of a tcp packet is as easy as:
packet = IP(src="10.0.0.10")