我正在追蹤跟蹤路線,我的應用程序發送一個ttl爲0的ICMP回顯請求,每當我收到超時消息時,我都會將ttl遞增一個並且將該包重新發送,但是會發生什麼情況是我有2我的網絡上的路由器可以跟蹤通過這些路由器的路由,但第三跳總是最終成爲同一個IP的開放DNS服務器之一,無論我在哪裏跟蹤路由。 AFAIK這是正確的traceroute實現,誰能告訴我我做錯了什麼?Traceroute Theory
回答
有可能兩臺路由器都連接到同一個對等設備,並且會得到所描述的行爲。
沒有更多的信息,它不是真的可以回答你的問題。
「路由器連接到同一個對等體」你能解釋你的意思嗎? – 2010-03-31 13:20:03
我的意思是說,你的兩臺路由器路由到同一臺機器並沒有什麼特別的奇怪之處。 – 2010-03-31 13:53:46
雖然很難說沒有任何額外的信息,最好的辦法是安裝一些數據包嗅探器 - 可能wireshark/www.wireshark.org - 並比較icmp數據包 - 跟蹤路由器上的電線和系統/ usr/bin/traceroute(或\ windows \ system32 \ tracert)發送了什麼?
如果你擁有它可以搞砸了路徑上的NAT路由器你很好地調整TTL的
我在路徑上有兩臺路由器,一臺是我的,我在房間內使用另一臺屬於我住的建築物,非常喜歡混淆我的連接,但在這種情況下,常規的traceroute工作正常。 – 2010-03-31 15:08:32
我明白了。這個「開放DNS服務器」,這也是一個路由器「在建築物」或某處關閉?您是否嘗試過使用常規traceroute命令(使用ICMP和UDP)來查看結果是否不同?沒有更多的信息,我會得出結論,第三個路由器,也作爲DNS,阻止你的數據包 - 可能是因爲它也NAT'ing。 – joveha 2010-03-31 16:04:14
你是說如果你使用traceroute命令,它可以工作,但是你的模仿traceroute的應用不會呢?看到代碼可能會幫助我們幫助你。 – dbasnett 2010-04-05 21:46:40
- 1. NoSQL/Redis Scaling Theory
- 2. Set Theory and .NET
- 3. MultinomialNB - Theory vs practice
- 4. 使用traceroute的
- 5. Android traceroute,ping,dnslookup
- 6. Android上的Traceroute
- 7. Graph Theory - 錦標賽排名
- 8. traceroute ipv6使用vb6
- 9. Java - API支持traceroute?
- 10. Ping/Traceroute ERLANG實現
- 11. Android traceroute/nslookup with NDK
- 12. Node.js - traceroute相當於
- 13. traceroute如何工作?
- 14. Telnet和traceroute在Iphone
- 15. Traceroute比較和統計
- 16. Traceroute打印星號符號
- 17. python traceroute語法錯誤
- 18. Perl,Net :: Traceroute :: PurePerl返回值
- 19. 將複雜參數傳遞給[Theory]
- 20. Linux上的Traceroute無法正常工作
- 21. 高ping服務器,traceroute問題?
- 22. 如何使用UDP實現Traceroute?
- 23. 尋找traceroute的玻璃工具
- 24. traceroute multiple hos python。 (逐行讀取.txt)
- 25. 在python中traceroute多個主機
- 26. 使用pacman在windows'MSYS2上安裝Traceroute
- 27. scapy :: traceroute設置源IP地址
- 28. activerecord/db theory - 我在哪裏放這些字段?
- 29. 在xmltype列和子查詢之間執行set theory
第一個數據包應該有1 TTL,不是0。這聽起來我像是路由轉發所有ICMP請求一個特定的位置。把你的應用程序轉到不同的位置,看看它是否在那裏工作。 – dbasnett 2010-04-05 21:44:07