日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Ping命令幕后過程及其返回信息分析

“Ping”的幕后過程
我們以下面一個(gè)網(wǎng)絡(luò)為例:有A、B、C、D四臺機(jī)子 , 一臺路由RA , 子網(wǎng)掩碼均為255.255.255.0 , 默認(rèn)路由為192.168.0.1
1.在同一網(wǎng)段內(nèi)
在主機(jī)A上運(yùn)行“Ping 192.168.0.5”后 , 都發(fā)生了些什么呢? 首先 , Ping命令會構(gòu)建一個(gè)固定格式的ICMP請求數(shù)據(jù)包 , 然后由ICMP協(xié)議將這個(gè)數(shù)據(jù)包連同地址“192.168.0.5”一起交給IP層協(xié)議(和 ICMP一樣 , 實(shí)際上是一組后臺運(yùn)行的進(jìn)程) , IP層協(xié)議將以地址“192.168.0.5”作為目的地址 , 本機(jī)IP地址作為源地址 , 加上一些其他的控制信息 , 構(gòu)建一個(gè)IP數(shù)據(jù)包 , 并想辦法得到192.168.0.5的MAC地址(物理地址 , 這是數(shù)據(jù)鏈路層協(xié)議構(gòu)建數(shù)據(jù)鏈路層的傳輸單元——幀所必需的) , 以便交給數(shù)據(jù)鏈路層構(gòu)建一個(gè)數(shù)據(jù)幀 。關(guān)鍵就在這里 , IP層協(xié)議通過機(jī)器B的IP地址和自己的子網(wǎng)掩碼 , 發(fā)現(xiàn)它跟自己屬同一網(wǎng)絡(luò) , 就直接在本網(wǎng)絡(luò)內(nèi)查找這臺機(jī)器的MAC , 如果以前兩機(jī)有過通信 , 在A機(jī)的ARP緩存表應(yīng)該有B機(jī)IP與其MAC的映射關(guān)系 , 如果沒有 , 就發(fā)一個(gè)ARP請求廣播 , 得到B機(jī)的MAC , 一并交給數(shù)據(jù)鏈路層 。后者構(gòu)建一個(gè)數(shù)據(jù)幀 , 目的地址是IP層傳過來的物理地址 , 源地址則是本機(jī)的物理地址 , 還要附加上一些控制信息 , 依據(jù)以太網(wǎng)的介質(zhì)訪問規(guī)則 , 將它們傳送出去 。
主機(jī)B收到這個(gè)數(shù)據(jù)幀后 , 先檢查它的目的地址 , 并和本機(jī)的物理地址對比 , 如符合 , 則接收;否則丟棄 。接收后檢查該數(shù)據(jù)幀 , 將IP數(shù)據(jù)包從幀中提取出來 , 交給本機(jī)的IP層協(xié)議 。同樣 , IP層檢查后 , 將有用的信息提取后交給ICMP協(xié)議 , 后者處理后 , 馬上構(gòu)建一個(gè)ICMP應(yīng)答包 , 發(fā)送給主機(jī)A , 其過程和主機(jī)A發(fā)送ICMP請求包到主機(jī)B一模一樣 。
2.不在同一網(wǎng)段內(nèi)
在主機(jī)A上運(yùn)行“Ping 192.168.1.4”后 , 開始跟上面一樣 , 到了怎樣得到MAC地址時(shí) , IP協(xié)議通過計(jì)算發(fā)現(xiàn)D機(jī)與自己不在同一網(wǎng)段內(nèi) , 就直接將交由路由處理 , 也就是將路由的MAC取過來 , 至于怎樣得到路由的MAC , 跟上面一樣 , 先在ARP緩存表找 , 找不到就廣播吧 。路由得到這個(gè)數(shù)據(jù)幀后 , 再跟主機(jī)D進(jìn)行聯(lián)系 , 如果找不到 , 就向主機(jī)A返回一個(gè)超時(shí)的信息 。
對Ping后返回信息的分析
1.Request timed out
這是大家經(jīng)常碰到的提示信息 , 很多文章中說這是對方機(jī)器置了過濾ICMP數(shù)據(jù)包 , 從上面工作過程來看 , 這是不完全正確的 , 至少有下幾種情況 。
(1) 對方已關(guān)機(jī) , 或者網(wǎng)絡(luò)上根本沒有這個(gè)地址:比如在上圖中主機(jī)A中PING 192.168.0.7 , 或者主機(jī)B關(guān)機(jī)了 , 在主機(jī)A中PING 192.168.0.5 都會得到超時(shí)的信息 。
(2)對方與自己不在同一網(wǎng)段內(nèi) , 通過路由也無法找到對方 , 但有時(shí)對方確實(shí)是存在的 , 當(dāng)然不存在也是返回超時(shí)的信息 。
【Ping命令幕后過程及其返回信息分析】(3)對方確實(shí)存在 , 但設(shè)置了ICMP數(shù)據(jù)包過濾(比如防火墻設(shè)置) 。
怎樣知道對方是存在 , 還是不存在呢 , 可以用帶參數(shù) -a 的Ping命令探測對方 , 如果能得到對方的NETBIOS名稱 , 則說明對方是存在的 , 是有防火墻設(shè)置 , 如果得不到 , 多半是對方不存在或關(guān)機(jī) , 或不在同一網(wǎng)段內(nèi) 。
(4)錯(cuò)誤設(shè)置IP地址
正常情況下 , 一臺主機(jī)應(yīng)該有一個(gè)網(wǎng)卡 , 一個(gè)IP地址 , 或多個(gè)網(wǎng)卡 , 多個(gè)IP地址(這些地址一定要處于不同的IP子網(wǎng)) 。但如果一臺電腦的“撥號網(wǎng)絡(luò)適配器”(相當(dāng)于一塊軟網(wǎng)卡)的TCP/IP設(shè)置中 , 設(shè)置了一個(gè)與網(wǎng)卡IP地址處于同一子網(wǎng)的IP地址 , 這樣 , 在IP層協(xié)議看來 , 這臺主機(jī)就有兩個(gè)不同的接口處于同一網(wǎng)段內(nèi) 。當(dāng)從這臺主機(jī)Ping其他的機(jī)器時(shí) , 會存在這樣的問題:

推薦閱讀