3

私は問題があります。

dpkt ライブラリと pcap ファイルの各ホスト名の ts を使用して、GET と HTTP/1.0 200 OK の応答時間の差を取得するにはどうすればよいですか?

私の予備コード:

#!/usr/bin/env python

import dpkt

f = open('mycapture.cap')
pcap = dpkt.pcap.Reader(f)

for ts, buf in pcap:
    eth = dpkt.ethernet.Ethernet(buf)
    ip = eth.data
    tcp = ip.data

    if tcp.dport == 80 and len(tcp.data) > 0:
        http = dpkt.http.Request(tcp.data)
        print ts, http.headers['host']

f.close()

ただし、GET 要求のみのタイムスタンプを出力します。

次のようになります。

tcpdump -i eth0 -w pcapfile; python (command).py pcapfile

google.com 0.488183
facebook.com 0.045466
quora.com 0.032777
4

1 に答える 1

2

リクエストの最初のパケットを取得できたようですが、応答の最初のパケットを取得する必要があります...次のようなものです:

if tcp.sport == 80 and len(tcp.data) > 0:
     # Here you can save the timestamp of the response and calculate the difference

幸運を

于 2013-01-24T08:03:43.780 に答える