测试请求中的延迟时间

时间:2014-07-06 11:52:57

标签: python tcp ip scapy ttl

我感兴趣的是能够使用从发送到服务器时请求的加载时间来检测特定参数。 我正在谈论的请求是三手握手中的SYN数据包。 我怎样才能做到这一点? 期待您的回答! 当然我也应该使用什么语言......我现在正在使用Python + Scapy进行测试。

1 个答案:

答案 0 :(得分:0)

如果您想使用Scapy(这似乎是您想要做的事情的合理选择),您需要使用Packet.time属性。这是一个简单的例子:

>>> def measure_delay(packet):
...     ans, _ = sr(packet, verbose=False)
...     if ans:
...         return reduce(lambda x, y: y.time - x.time, ans[0])
... 
>>> measure_delay(IP(dst='192.168.1.254')/TCP(dport=80))
0.07259798049926758

从Unix命令行,您也可以使用hping3,并查找rtt=值:

# sudo hping3 --syn 192.168.1.254 -p 80 -c 1
HPING 192.168.1.254 (wlan0 192.168.1.254): S set, 40 headers + 0 data bytes
len=44 ip=192.168.1.254 ttl=64 DF id=0 sport=80 flags=SA seq=0 win=14600 rtt=3.1 ms

--- 192.168.1.254 hping statistic ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 3.1/3.1/3.1 ms