linux下實現的ping程式

2021-09-27 11:09:54 字數 445 閱讀 4197

一、設計目的

ping程式是我們使用的比較多的用於測試網路連通性的程式。ping程式基於icmp,使用icmp的回送請求和回送應答來工作。由計算機網路課程知道,icmp是基於ip的乙個協議,icmp包通過ip的封裝之後傳遞。

課程設計中選取ping程式的設計,其目的是通過ping程式的設計,能初步掌握tcp/ip網路協議的基本實現方法,對網路的實現機制有進一步的認識。

熟悉socket的程式設計,包括基本的系統呼叫如socket、bind等。

二、設計內容

2.1 raw模式的socket程式設計

ping程式是面向使用者的應用程式,該程式使用icmp的封裝機制,通過ip協議來工作。為了實現直接對ip和icmp包進行操作,實驗中使用raw模式的socket程式設計。

2.2 具體內容

2.2.1 定義資料結構

定義ip資料報、icmp包等相關的資料結構。

ping程式的實現

最近在看些windows下網路程式設計問題。看到原始套接字的使用,於是看了ping程式的功能實現。大部分人用ping命令只是作為檢視另乙個系統的網路連線是否正常的一種簡單方法。這裡我介紹下在windows下實現ping程式的兩種方法。一是使用原始套接字的方法 如下 include pragmacom...

linux下ping的C語言實現

include stdio.h include signal.h include arpa inet.h include sys types.h include sys socket.h include unistd.h include netinet in h include netinet ip...

linux下的ping命令

linux下的ping命令用於檢視網路上的主機是否在工作。執行ping指令會使用icmp傳輸協議,發出要求回應的資訊,若遠端主機的網路功能沒有問題,就會回應該資訊,因而得知該主機運作正常。ping命令的一般格式為 ping dfnqrrv c 傳送次數 i 間隔秒數 i 網路介面 l 前置載入 p ...