首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python、dpkt和时间戳

python、dpkt和时间戳
EN

Stack Overflow用户
提问于 2012-10-29 21:39:39
回答 1查看 2.3K关注 0票数 3

我有个问题。

如何通过使用dpkt库和来自pcap文件的每个主机名的ts来获得get和HTTP/1.0 200OK之间的响应时间差(我是指web服务器的时间延迟)?

我的初步代码:

代码语言:javascript
复制
#!/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请求。

它看起来会像这样:

代码语言:javascript
复制
tcpdump -i eth0 -w pcapfile; python (command).py pcapfile

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

回答 1

Stack Overflow用户

发布于 2013-01-24 16:03:44

看起来您已经成功获取了第一个请求数据包,现在您需要获取响应的第一个数据包……类似于:

代码语言:javascript
复制
if tcp.sport == 80 and len(tcp.data) > 0:
     # Here you can save the timestamp of the response and calculate the difference

祝好运

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13122758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档