ping 127.0.0.1 和 本機(jī)的ip地址,數(shù)據(jù)包會(huì)發(fā)到網(wǎng)卡上面嗎? 收藏 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ō)的沒(méi)問(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)自: hanzinu > 《我的圖書(shū)館》