我定义了IP Header和Payload,我不知道如何将数据包添加到数据包并将数据包发送到服务器。
我试试这个,但我收到了错误:
IPPACKETNAME() + PayLoad
答案 0 :(得分:0)
在不知道更多内容的情况下,不确定这是否适用于您的情况,但此处是向服务器发送发布请求的功能。 requests.post可以更改为您需要的任何类型的请求。 e.g。
requests.get
requests.put
等
import requests
def PostRequest(url,data1):
r=requests.post("'"+url+"'",data=data1)
return r.content
用法:
response= PostRequest("http://192.168.1.7","DATA")
修改
这是将原始数据包发送到服务器的一些代码。
import socket
import sys
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Connect the socket to the port where the server is listening
server_address = ('localhost', 80)
#print >>sys.stderr, 'connecting to %s port %s' % server_address
sock.connect(server_address)
# Send data
message = input()
message = str(message).encode()
print('sending "%s"' % message)
sock.sendall(message)
# Look for the response
amount_received = 0
amount_expected = len(message)
data = sock.recv(16)
amount_received += len(data)
print('received "%s"' % data)
print('closing socket')
sock.close()