2017-08-30 20 views
0

IPヘッダーとペイロードを定義しましたが、ペイロードをパケットに追加してパケットをサーバーに送信する方法がわかりません。パケットの送信に関する問題

私はこれを試して、私はエラーを得た:

IPPACKETNAME() + PayLoad 

答えて

0

これは多くを知らなくても、自分の状況に適用されるが、ここでは、サーバーへのPOSTリクエストを送信する機能であるかどうかわかりません。 requests.postは、必要なリクエストの種類に変更できます。例えば

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") 

EDIT oサーバー。

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() 
関連する問題