私はscapyがこれをはるかに簡単にすることを知っています(私は学習のためにこれをやっています)。私はパケットを作り、正常に送信しましたしかし、私は後の応答を受け取って解析するのに苦労しています。 これまで私はs.recv(1024)と4096とrecvfrom()を試しました。Pythonでrawソケットからデータを受け取る方法は?
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW)
s.sendto(packet, (dstip, 80))
r = s.recv(1024)
print(r)
しかし、私は応答を受信トラブルを抱えています、しかし私は、私が正しく受信することができませんし、印刷、パケットがWiresharkの経由で正しく送信されている、とSYN-ACKが私のマシンに送信されていることがわかりますそれ。この種の入力にs.recv()関数を使用するより良い方法はありますか?あるいは間違った機能を使用していますか? 私はソケットライブラリを初めて使いました。ありがとう
両方の回答が役に立ちました。ありがとうございました。2番目のトピックは、ちょっと話題になりました。とにかく、基本的なパケットスニッファのために見つけられる最良のリソースはhttp://www.binarytides.com/python-packet-sniffer-コード-linux / –