在linux系统中,我使用 pkt = IP(dst=dst)/UDP(dport=RandShort())
ans,_ = sr(pkt*100, inter=0.02, timeout=3)
发送高频UDP ping。例如:每20毫秒,发送一个UDP包;共有100个。但我只能得到前几个ICMP端口无法访问的答案。
tcpdump
我尝试使用{{1}}来捕获数据包,发现所有UDP数据包都已发送到目标计算机,但只有少数ICMP数据包返回到源计算机。会导致这种情况的原因是什么?
如果我使用ICMP ping,则不会发生这种情况。
我想:
答案 0 :(得分:0)
内核严格限制ICMP数据包的速率以防止DDOS攻击。通常每秒只有1个数据包。几乎不可能获得比任何外部(互联网)路由器更快的速度。 {{3}}