2011-07-07 7 views
7

scapyを使用して、画像または文書(MB単位)をパケットとしてデータとして挿入できますか?パケットにペイロードを追加する

これは私がデータを送信したものです。

data = "University of texas at San Antonio" 
a = IP(dst="129.132.2.21")/TCP()/data 
send(a) 
+0

これで本当に何をしようとしていますか?あなた自身のファイルストリーマーをPythonでビルドしますか?もしそうなら、 'scapy'よりももっと簡単な方法があります。 –

答えて

10

はい、このような生データを送信できます。この例では、データはASCIIエンコードされます。

>>> data = 'University of Texas at San Antonio' 
>>> a = IP(dst='129.132.2.21')/TCP()/Raw(load=data) 
>>> sendp(a) 
+1

これはうまくいきますが、それは意図した通りですか? TCPハンドシェイクが動作するには少なくとも2つのパケットを送信する必要はありませんか?このペイロードは単純に受信者によって破棄されませんか? – b0fh

+1

@ b0fh正しいですが、データを含む単一のTCPパケットを送信することは、スリーウェイハンドシェイクを介してTCP接続を確立し、実際のTCPスタックが受け入れるデータを送信することと同じではありません。この回答は、単にTCPヘッダーの後にデータを追加することに関するものです。 – phoenix

関連する問題