這兩天要針對客戶的修改做一些驗證,發現不行,於是乎,各種上網找原因。
問題的關鍵就是本機對本機傳送的ip資料報是如何處理的。乙個現象就是,用wireshark抓包,在a、b兩台電腦上裝ftp server,如果在a訪問本機的ftp伺服器則wireshark並不會顯示相應的資料報,而a訪問b的ftp伺服器wireshark就會出現ip資料報。那麼對於訪問本機的ip資料報在系統中是怎麼處理的呢?
首先是關於127.0.0.1和本機ip的區別。
對於ping 127.0.0.1,這條命令是不經過網絡卡的,ping本地回環是測試tcp/ip協議棧,在協議棧的ip層就進行了回環。
而對於ping [host ip],需要網絡卡支援,如果禁用網絡卡或者把網線拔掉,則ping就會fail,可見這種方式可以檢查網絡卡或網路工作是否正常。
那麼這個資料報是怎麼走的呢?
1)主機傳送ping自身ip位址的包;2)系統在fib路由表中嘗試查詢路由;3)發現找到的路由項型別為rtn_local;4)把資料報的dev_out設定為loopback_dev;5)利用回環介面傳送資料報
根據這些資訊,就可以下結論:對於tcp/ip的某些服務,都需要網絡卡的支援,但是對於本機的訪問,網絡卡驅動判斷是否回環,如果回環的話則網絡卡不會將ip資料報發到乙太網。我們的抓包工具也就抓不到包了。
關於127 0 0 1和本機IP的一些認識
這兩天要針對客戶的修改做一些驗證,發現不行,於是乎,各種上網找原因。問題的關鍵就是本機對本機傳送的ip資料報是如何處理的。乙個現象就是,用wireshark抓包,在a b兩台電腦上裝ftp server,如果在a訪問本機的ftp伺服器則wireshark並不會顯示相應的資料報,而a訪問b的ftp伺服...
本機ip和127 0 0 1的區別
連線上網際網路的每一台計算機都會有乙個ip位址,在linux下可以使用命令ifconfig來檢視本機的ip位址 windows為ipconfig 比如我當前電腦的ip位址為192.168.0.30,而127.0.0.1被稱為本地環迴位址 loopback 本地環迴位址主要用於網路軟體測試以及本地機程...
127 0 0 1與本機IP位址的區別
網路位址127是乙個保留位址,用於網路軟體測試以及本地機程序間通訊,叫做回送位址 loopback address 無論什麼程式,一旦使用回送位址傳送資料,協議軟體立即返回之,不進行任何網路傳輸。127.0.0.1是自環位址,也就是迴路位址,ping通了說明網絡卡沒有問題,因此發往127的訊息不會出...