3

基本的に、私がやりたいことは、JSON データが含まれていることがわかっているいくつかのパケットをインターセプトすることです。しかし、HTTP パケットは人間が判読できるものではないため、それが私の問題です。パケット全体 (既にプレーン テキストになっているヘッダーだけでなく) を人間が判読できるようにする必要があります。ネットワークの経験はまったくありません。

import pcap
from impacket import ImpactDecoder, ImpactPacket

def print_packet(pktlen, data, timestamp):
    if not data:
        return

    decoder = ImpactDecoder.EthDecoder()
    ether = decoder.decode(data)
    iphdr = ether.child()
    tcphdr = iphdr.child()

    if iphdr.get_ip_src() == '*******':
        print tcphdr

p = pcap.pcapObject()
dev = 'wlan0'
p.open_live(dev, 1600, 0, 100)

try:
    p.setfilter('tcp', 0, 0)
    while 1:
        p.loop(1, print_packet)
except KeyboardInterrupt:
    print 'shutting down'

libpcap-python、scapy、Impacket pcapy などのツールを見つけました。それらはすべて良さそうに見えますが、それらを使用してパケットを適切にデコードする方法がわかりません。

Wiresharkには、基本的に私が求めている情報を表示する「行ベースのテキストデータ:text / html」と呼ばれるものがあるので、Pythonで同じ情報を取得するのは簡単だと思っていましたが、そうではありませんでした。

4

1 に答える 1

2

HTTP と JSON はどちらも人間が判読できます。Wireshark で、HTTP トランザクションに関連するパケットを選択し、右クリックして [Follow TCP Stream] を選択します。これにより、人間が読み取れる形式でトランザクションが表示されます。

于 2012-04-05T07:44:47.027 に答える