python - 测试请求中的延迟时间

标签 python tcp ip scapy ttl

我感兴趣的是能够使用从我发送请求到到达服务器所需的加载时间来检测特定参数。 我说的请求是三向握手中的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/

相关文章:

python - 如何使用 python Flask 防止长时间运行的工作负载出现 230 秒的 azure 网关超时

python - 合并 Pandas 中的两个时间序列并在阈值时间差内提取观察值

python - Pandas DataFrame.to_csv() OSError : [Errno 22] Invalid argument and PermissionError: [Errno 13] Permission denied

python - 如何修复这个 FFMPEG 命令来录制音频?

java - 在 Spring Integration 中定制变压器

sockets - 客户端和服务器之间的 TCP 连接出错

android - 在android上检查字符串是网址还是ip

javascript - 在 Node.js 中获取本地 IP 地址

http - 为什么用户代理在服务器重置 TCP 后重新提交请求?

Linux shell : write IP to binary file