ping 127.0.0.1 和 本機(jī)的ip地址,數(shù)據(jù)包會(huì)發(fā)到網(wǎng)卡上面嗎? 收藏
來(lái)自論壇提問(wèn),出處:http://www.cnpaf.net/Forum/viewthread.php?tid=28012
alvas:
當(dāng)發(fā)送icmp包的時(shí)候,這些包的發(fā)送路徑是什么?都經(jīng)過(guò)了什么地方?router的選擇和interface的選擇都由什么決定?
kapiter:
ping 127.0.0.1和ping本機(jī)的過(guò)程是不一樣的
ip輸出函數(shù)先檢查地址是不是環(huán)回地址:
1. 如果是環(huán)回地址,直接交給環(huán)回驅(qū)動(dòng)程序處理,返回ip輸入函數(shù)
2. 如果不是環(huán)回地址,檢查是不是廣播地址或者多播地址
3. 如果不是廣播或者多播地址,才檢查是不是本機(jī)地址,如果是本機(jī)地址,則交給環(huán)回驅(qū)動(dòng)程序處理,環(huán)回驅(qū)動(dòng)程序返回給ip輸入函數(shù)
從上面可以看出 ping 127.0.0.1數(shù)據(jù)包是不經(jīng)過(guò)網(wǎng)卡的 ping本機(jī)則是需要經(jīng)過(guò)網(wǎng)卡的
ICMP報(bào)文是封裝在ip數(shù)據(jù)包里面的,所以router選擇和interface選擇過(guò)程和ip數(shù)據(jù)包是一樣的
alvas:
thx
maoyinjie:
ping 127.0.0.1 和 ping本機(jī)同樣是不經(jīng)過(guò)網(wǎng)卡的,都是環(huán)回驅(qū)動(dòng)處理掉的
dingcuipu8888:
lz你拔掉網(wǎng)線照樣能ping 127.0.0.1,但是IP地址是ping不通的。2#說(shuō)的沒問(wèn)題
liuyongq:
支持二樓的
jergolfer:
ping 127.0.0.1是測(cè)試本機(jī)是否安裝了TCP/IP協(xié)議,而路由器和接口的選擇是由路由表決定的,windows下可通過(guò)router print查看
ping 127.0.0.1是不會(huì)經(jīng)過(guò)本機(jī)網(wǎng)卡的,當(dāng)然抓包是看不到的
ping本機(jī)IP也不會(huì)經(jīng)過(guò)本機(jī)網(wǎng)卡的
Richard Steven卷一中有詳細(xì)分析,正如kapiter所說(shuō)的
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/ixidof/archive/2010/05/18/5605942.aspx
聯(lián)系客服