導航:首頁 > 編程語言 > icmp編程

icmp編程

發布時間:2023-11-01 16:55:26

1. linux網路編程是個什麼樣的東西

Linux 網路編程是一個基於客戶端/伺服器(即:client/server)的套接字編程結構(即:socket 編程)。
在Linux網路編程的過程中,使用到的協議主要有:TCP/IP(基於連接的協議)、UDP(基於無連接的協議)、ICMP(通常我們在 DOS 狀態下通過使用 ping 命令,檢查網路的通斷,就是依靠該協議)。
在Linux系統的套接字編程中,有標準的 socket( )、client( ) 代碼的編寫風格。涉及到的主要庫函數有:bind( )、listen( )、accept( )、read( )、write( ) 等。
至於說要想學習詳細的Linux網路編程技術實現細節,你可以參考《TCP/IP詳解》一書。一套共三本。

2. 網路編程中~~icmp協議有幾個概念性的疑問不太理解啊,求解答

  1. ICMP是網路控制報文協議,使用IP報文進行信息的傳遞,說其面向連接是不對的。

  2. 由於ICMP使用IP報文進行信息的傳遞,多用於一些網路層的跟蹤和診斷功能而設計,並不屬於傳輸層,是一種較為特殊的TCPIP的子協議。可以這么認為IP報文中的數據部分可以是ICMP的負載數據,也可以TCP報文體,也可以UDP的報文體。因此可以簡單地認為ICMP是和TCP,UDP等並列的一種協議,但是不同的是ICMP並不針對上次的應用,主要針對網路中的各種網路設備,如路由器、交換機、防火牆等設備。

  3. 有以上可知,IP的總長並不存在一個ICMP部分的長度,一個IP報文,要麼是承載ICMP報文,要麼是承載TCP報文、UDP報文或者其他傳輸層的報文。

3. 網路編程中*** ping程序發送的ICMP報文,對方的埠號要怎麼寫啊

這個不是0埠,而是NULL,NULL就是0,意思就是,不指定埠號。
你這段代碼用的是原聲的SOCKET,其實默認的sin_port應該就是NULL的,這里應該只是顯式地再賦值了一遍吧。

4. 網路編程中,ping程序發送的ICMP報文,對方的埠號要怎麼寫啊

在網上找了類似的問題,也許對你有幫助:

問題:
在UDP定義中,sin.sin_port = htons(0); 的0是何意思?是否只要在sendto指定對方地址就可以,本方port不用指定,除非也要收

回答:

在Internet地址族中,一個名字包括幾個組成部分,對於SOCK_PGRAM和SOCK_STREAM類套介面,名字由三部分組成:主機地址,協議號(顯式設置為UDP和TCP)和用以區分應用的埠號。如果一個應用並不關心分配給它的地址,則可將Internet地址設置為INADDR_ANY,
或將埠號置為0。如果Internet地址段為INADDR_ANY,則可使用任意網路介面;在有多種主機環境下可簡化編程。如果埠號置為0,則
WINDOWS套介面實現將給應用程序分配一個值在1024到5000之間的唯一的埠。

參見:
http://bbs.csdn.net/topics/20304114

閱讀全文

與icmp編程相關的資料

熱點內容
ie文件夾禁止訪問 瀏覽:543
百川互聯網程序員 瀏覽:781
linuxpython解釋器 瀏覽:665
興安得力軟體加密狗 瀏覽:490
智能網路攝像頭加密 瀏覽:574
軟體畢業程序員培訓 瀏覽:650
安卓陀螺儀低怎麼辦 瀏覽:245
一級建造師復習題集pdf 瀏覽:903
法理學pdf海默 瀏覽:390
伺服器內存儲器是用什麼的 瀏覽:817
微幫同城分類信息源碼 瀏覽:808
安卓系統ad是什麼 瀏覽:471
python輸出中不加佔位符 瀏覽:596
linux文件夾許可權控制 瀏覽:728
雅虎郵箱怎麼加密碼 瀏覽:819
為什麼安卓手機登錄不了蘋果賬號 瀏覽:535
如何復制usb加密狗 瀏覽:801
哪個app看你微笑時很美 瀏覽:908
mac啟動命令 瀏覽:602
ngc伺服器是什麼的簡稱 瀏覽:75