2 台のマシン間で UDP パケットをブロードキャストし、3 台目のマシンでリッスンしています。Wireshark でパケットを確認できますが、UDP パケットの「データ」部分を取得する簡単な方法が必要です。tshark を使用して、パケット情報をファイルにダンプできました。
C:>tshark -V -R "udp" > C:/test.txt
ただし、これはパケット内のすべてを印刷します。「データ」部分のみを印刷したいのです。これを行う方法はありますか?
また、Pythonでこれをキャプチャする方法があれば、それも素晴らしいでしょう. 次のコードを設定しました。
Host = "myip"
Port = 5000
While True:
sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sock.bind((Host,Port))
data = sock.recv(4096)
sock.close()
「リスニング」PCを使用してこのコードを実装すると、データが受信されません。2 つの通信 PC の 1 つを使用してこのコードを実装すると、「要求されたアドレスはそのコンテキストでは有効ではありません」
私の「リスニング」PC の Wireshark の 2 台の PC 間ですべてのデータが渡されているのがわかります。
ありがとう!