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

熱點內容
伺服器地址缺少埠號什麼意思 瀏覽:527
下載需要解壓的小說用哪個軟體 瀏覽:531
廣東分布式伺服器雲主機 瀏覽:580
伺服器忙打不開怎麼辦 瀏覽:12
tif壓縮軟體 瀏覽:410
程序員那麼可愛陸漓上班第1天 瀏覽:950
macbookair自帶什麼app 瀏覽:698
如何關了加密的軟體 瀏覽:579
程序員p2p待遇 瀏覽:920
ipd編譯要求 瀏覽:935
壓縮解壓王怎麼用 瀏覽:33
伺服器共享文件如何備份 瀏覽:757
買安卓手機怎麼在官網買 瀏覽:125
詩詞入門PDF 瀏覽:363
毒app是什麼單位 瀏覽:66
如何自己編譯android系統 瀏覽:794
phpmysqlpdomysqli 瀏覽:810
php修改sql語句 瀏覽:722
android有道api 瀏覽:390
撓耳營水表用的什麼app 瀏覽:57