導航:首頁 > 編程語言 > 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編程相關的資料

熱點內容
appstore中的錢怎麼退 瀏覽:495
單片機程序下載後如何運行 瀏覽:475
剛買的阿里雲伺服器怎樣搭建網站 瀏覽:637
公園設計pdf 瀏覽:684
緩解壓力最好的辦法美國 瀏覽:387
前後端系統數據加密解密 瀏覽:194
中國移動營業app怎麼看套餐 瀏覽:205
javastatic數組 瀏覽:950
需要會員管理源碼 瀏覽:415
手機app如何解除加密 瀏覽:167
用雲伺服器還得買個瘦主機 瀏覽:728
如何查看辦公電腦伺服器地址 瀏覽:368
海星雲的伺服器是什麼系統 瀏覽:411
抖音小籠包解壓神器 瀏覽:558
手機下載的源碼在哪裡儲存 瀏覽:846
pdf看三維 瀏覽:406
九宮演算法干什麼用的 瀏覽:907
phpjava性能比較 瀏覽:886
2016會計中級pdf 瀏覽:181
農村信用社app怎麼刪除明細 瀏覽:818