閱讀本文約需要10分鐘,您可以先關注我們,避免下次無法找到。
01 前言不管你是敲代碼的,搞運維的,玩管理項目的,就算你隻是想在家上個網,你都可能會用到成哥總結的網絡連通性工具。
成哥打算用上下兩篇文章把下圖總結的工具給大家講透。
上篇給大家講講ICMP和TCP層面的網絡連通性測試工具。
下篇來介紹剩下的内容,包括nslookup、dig和curl。
另外,browser就是浏覽器訪問了,這個大家都很熟悉,不再贅述。
02 UDPUDP是一個簡單的面向數據報的傳輸層協議,不提供可靠性。
使用UDP的應用進程需要控制UDP數據報的長度,不能讓其超過網絡MTU值,不然就會産生IP分片。因為UDP進程的每個輸出操作都正好産生一個UDP數據報,并組裝成一份待發送的IP數據報。
UDP數據報作為IP數據報的數據部分,包含在IP首部中。如下圖所示:
UDP首部非常簡單,其實UDP首部啥也沒有。
且看下圖,UDP首部隻有四個部分:源端口号、目端口号、UDP長度和UDP檢驗和字段。
(1)端口号 (16位)
端口号表示發送進程和接收進程。
UDP端口号和TCP端口是相互獨立的,有些知名服務的UDP和TCP使用相同的端口,隻是為了使用方便。比如DNS的TCP 53端口和UDP 53端口。
(2)UDP長度 (16位)
UDP長度字段指的是UDP首部和UDP數據的字節長度之和。
理論上來說UDP的長度可達2^16字節,即65535字節。
下圖展示了UDP長度為55字節的數據報。我們算一下,55字節(UDP長度) = 47字節(UDP數據) 8字節(UDP首部)。
(3)UDP檢驗和 (16位)
UDP檢驗和覆蓋UDP首部和UDP數據。
03 nslookupnslookup (name server lookup) 域名查詢,是一個用于查詢 Internet域名信息和診斷DNS 服務器問題的工具。
通過使用nslookup工具,可以在windows和linux平台上查到對應的ip地址,同時可判斷DNS服務器是否正常工作。
Window平台的使用如下:
Linux平台的使用如下:
如果使用nslookup工具解析出來了地址,則說明DNS系統解析正常。如果解析異常,則說明DNS解析異常。
04 digdig (domain information groper) 域信息搜索器用來探測DNS解析的情況。執行dig命令,顯示從接受請求的域名服務器返回的答複。
dig隻能在Linux平台中使用,範例如下:
如果使用dig工具解析出來了地址,則說明DNS系統解析正常。如果解析異常,則說明DNS解析異常。
05 HTTPHTTP(HyperText Transfer Protocol ,超文本傳輸協議)是互聯網上應用最為廣泛的一種網絡協議。所有的WWW文件都必須遵守這個标準。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。
HTTP屬于TCP/IP模型中的應用層協議,應用層協議需要下層協議為其提供服務。因此HTTP需要在TCP協議建立的狀态化數據通道基礎上進行數據的傳輸。
在HTTP 1.0版本中, 每條TCP連接隻能對應一次HTTP數據請求,每次HTTP數據請求結束後,随即斷掉當前的TCP連接。
在HTTP 1.1版本中,多次HTTP數據請求都可以複用同一個TCP連接,并且多次HTTP數據請求可以并行進行,不必等待按先後順序執行。
HTTP的請求和應答處理過程圖下圖所示:
通過數據分析來展示HTTP的一次完成請求和應答過程。
下圖展示了GET請求和應答的數據幀。
下圖展示了數據幀中的請求和應答數據。
可以以看到HTTP的請求方法給GET。但是為适應不同的應用場景,HTTP協議中定義了多種HTTP請求方法。
看到HTTP的請求方法給GET。但是為适應不同的應用場景,HTTP協議中定義了多種HTTP請求方法。
06 curlcurl 是常用的命令行工具,用來請求 Web 服務器,功能非常強大。
它的名字就是客戶端(client)的 URL 工具的意思。
curl隻适用于Linux平台,參數非常多,可通過curl –help查看,
常用的參數如下:
curl在Linux平台的使用如下:
07 總結
本篇文章介紹了使用UDP協議和HTTP協議的網絡連通性測試工具,這些工具都是我們工作和生活中最常用的網絡探測工具,希望對大家有幫助。
-END-
常用網絡連通性測試工具(上)
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!