0

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 間ですべてのデータが渡されているのがわかります。

ありがとう!

4

1 に答える 1

0

マクフライ、

Python でパケットのスニッフィングと表示/解析を行いたい場合は、Scapy が最適です。Scapy は tshark がすぐに実行できることの 99% を自動的に実行できるため、tshark をドロップするだけです。

于 2012-04-28T06:47:24.393 に答える