我感兴趣的是能够使用从我发送请求到到达服务器所需的加载时间来检测特定参数。 我说的请求是三向握手中的SYN包。 我怎样才能做到这一点? 期待您的回答! 当然还有我应该使用什么语言...我现在正在使用 Python + Scapy 进行测试。
最佳答案
如果你想使用 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
关于python - 测试请求中的延迟时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24595532/