請問Scapy繞行Dummynet(一般IPFW)?Scapy繞過Dummynet嗎?
看起來確實如此。我爲每個傳出和傳入數據包增加了一個很大的額外延遲,並且除了Scapy發送的數據包之外,一切都變慢了。
$ ipfw add pipe 1 from any to any
$ ipfw pipe 1 config delay 500ms
$ ping www.google.com
PING www.l.google.com (173.194.34.18) 56(84) bytes of data.
64 bytes from par03s02-in-f18.1e100.net (173.194.34.18): icmp_req=1 ttl=54 time=1011 ms
64 bytes from par03s02-in-f18.1e100.net (173.194.34.18): icmp_req=2 ttl=54 time=1010 ms
所以它似乎沒問題。但只要我用Scapy發送數據包,發生以下情況:
>>> from scapy.all import *
>>> p = IP(dst="www.google.com", ttl=1)/TCP(sport=222, dport=2999)
>>> ans,unans = sr(p*3)
>>> ans[0][1].time - ans[0][0].sent_time
0.0002701282501220703 #usual value for such RTT
有什麼辦法強制它通過dummynet?
編輯如果我只有另一臺機器可供使用,那麼我可以在那裏使用dummynet,並在它進入互聯網之前將所有流量引導到它。不過,我寧願在本地做所有事情。