導航:首頁 > 網路安全 > 如何查詢網路請求的完整鏈路

如何查詢網路請求的完整鏈路

發布時間:2022-11-28 16:30:29

網路連接中斷,請檢查上行鏈路連接或聯系ISP解決

網路連接中斷,請檢查上行鏈路連接或聯系ISP解決的原因有很多,可以從以下幾個方面分析:

用戶埠錯誤、未建立鏈路、vlan綁定錯誤、本地鏈路不通、上行設備故障。

解決方法:

1、首先確認adsl modem撥號正常或是直接入戶的網線與交換機之間物理鏈路通暢,因為網卡自動獲取的IP沒有清除,所以再次撥號的時候網卡無法獲取新的IP地址會提示678,操作方法是:關閉adsl modem,進入控制面板的網路連接右擊本地連接選擇禁用,5秒鍾後右擊本地連接選擇啟用,然後打開adsl modem撥號即可;

如果是直接網線入戶的用戶可以禁用本地連接之後,在啟用之後選擇本地連接右鍵選擇狀態,查看收到和發出是否正常,並且查看是否可以獲得有效的內網IP(電信無內網IP,僅限於移動光纖寬頻);

2、如果第一步無效,則在關閉adsl modem的情況下,仍然禁用本地連接(網卡),重啟計算機,然後啟用本地連接(網卡)再打開adsl modem即可解決;

3、如果上述步驟都無法解決,查看網卡燈是否亮,如果電源燈閃爍則要檢查電源及modem本身;若外線指示燈仍然閃爍則可自查室內線;

4、如果網卡燈正常1,2步無法解決則帶領用戶卸載網卡驅動,重裝網卡驅動。如果用戶xp系統按照:知識編號:9973,如何在WINXP下設置ADSL撥號連接 方法帶領用戶創建撥號連接,如果98系統建議用戶安裝Raspppoe軟體或者EHERNET300軟體連接即可。

(1)如何查詢網路請求的完整鏈路擴展閱讀:

導致錯誤678報錯的原因很多,從DSLAM以下(包括DSLAM)只要一個環節出錯,都可能出現錯誤678,

如:DSLAM設備問題,機房用戶板問題,交接箱以下,主幹電纜問題,配線電纜問題,用戶戶線問題,用戶端的MODEM問題,用戶電腦網卡問題,用戶電腦系統問題等等,都有可能導致錯誤678。對這種故障的具體原因不太好判斷,但經過分析,絕大部分情況下還是能夠順利解決。

另外還有一個原因,是如果使用了路由器,通常不需要再使用寬頻連接了,如果這時再使用的話就會出現678錯誤。

❷ 一條信息的網路請求過程

最近有用戶手機用流量無法登陸app,最終發現原因是ip被防火牆拉黑了,本來想去了解ip的分配機制,隨著一個個知識點的了解,發現還是系統記錄下來更能加深理解,特此記錄。

乙太網絡上面的傳輸使用網路卡卡號為基準的 MAC 訊框,配合 CSMA/CD 的標准來傳送訊框,這就是硬體部分。在軟體部分,我們知道 Internet 其實就是 TCP/IP 這個通訊協議的通稱,Internet 是由 InterNIC所統一管理的, 但其實他僅是負責分配 Internet 上面的 IP 以及提供相關的 TCP/IP 技術文件而已。

當應用程序用TCP傳送數據時,數據被送入協議棧中,然後逐個通過每一層直到被當作一串比特流送入網路。其中每一層對收到的數據都要增加一些首部信息(有時還要增加尾部信息),該過程如圖所示。

不論是伺服器端還是客戶端,都必須要透過一次 SYN 與 ACK 來建立聯機,所以總共會進行三次的交談

封包發起時,在 TCP 的表頭當中,必須要帶有 SYN 的主動聯機(SYN=1),並且記下發送出聯機封包給伺服器端的序號 (Sequence number = 10001) 。

當伺服器接到這個封包,並且確定要接收這個封包後,就會開始製作一個同時帶有 SYN=1, ACK=1 的封包, 其中那個 acknowledge 的號碼是要給 client 端確認用的,所以該數字會比(A 步驟)裡面的 Sequence 號碼多一號 (ack = 10001+1 = 10002), 那我們伺服器也必須要確認客戶端確實可以接收我們的封包才行,所以也會發送出一個 Sequence (seq=20001) 給客戶端,並且開始等待客戶端給我們伺服器端的回應喔

目前IP有兩個版本。 IPv4 (Internet Protocol version 4, 網際網路協定第四版)和IPV6,目前運用最廣泛的還是IPV4,所以下面講的是IPV4。

我們知道 IP (Internet Protocol) 其實是一種網路封包,而這個封包的表頭最重要的就是那個 32 位的來源與目標地址! 為了方便記憶,所以我們也稱這個 32 bits 的數值為 IP 網路地址就是了。

IP 最小可以由 0.0.0.0 一直到 255.255.255.255 ,主要分為 Net_ID (網域號碼)與 Host_ID (主機號碼) 兩部份。

在同一個網段內,Net_ID 是不變的,而 Host_ID 則是不可重復; Host_ID 在二進制的表示法當中,不可同時為 0 也不可同時為 1 , 因為全為 0 表示整個網段的地址 (Network IP) 而全為 1 則表示為廣播的地址 (Broadcast IP)

在同一網域內,這些主機都可以透過 CSMA/CD 的功能直接在區網內用 廣播 進行網路的聯機。透過 路由器 (router) 來進行溝通才能將兩個網域連結在一 起。

在 IPv4 裡面就只有兩種 IP 的類別,分別是:

私有 IP 也分別在 A, B, C 三個 Class 當中各保留一段作為私有 IP 網段,那就是:

用來達成子網的切分

如果我們以 192.168.0.0 ~ 192.168.0.255 這個網段來說,要是給予 Net_ID 是 26 位時,總共分為幾段呢? 因為 26-24=2 ,所以總共用掉兩個位,因此有 2 的 2 次方,得到 4 個網段 。再將 256 個 IP 平均分配到 4 個網段去, 那我們就可以知道這四個網段分別是:

區域網絡使用的設備-乙太網絡。

整個乙太網絡的重心就是 乙太網絡卡 。所以說,乙太網絡的傳輸主要就是 網路卡對網路卡之間的數據傳遞而已 。 每張乙太網絡卡出廠時,就會賦予一個獨一無二的卡號,那就是所謂的 MAC (Media Access Control) 。

CSMA/CD 傳送出去的 MAC幀 數據,其實就是 MAC !我們又簡稱網卡卡號為 MAC。

上圖中的目的地址與來源地址指的就是網卡卡號 (hardware address, 硬體地址).

地址解析協議(Address Resolution Protocol),其基本功能為透過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。它是IPv4中網路層必不可少的協議,不過在IPv6中已不再適用,並被鄰居發現協議(NDP)所替代

在發送數據包時,首先要通過目的IP(主機或路由器)獲取區域網內要發送對象的MAC地址,再將MAC地址封裝到數據包內發送。 而ARP的作用就在通過IP獲取MAC地址,通過廣播來發送ARP請求報文

假設主機A和B在同一個網段,主機A要向主機B發送信息,具體的地址解析過程如下:

(1) 主機A首先查看自己的 ARP表 ,確定其中是否包含有主機B對應的ARP表項。如果找到了對應的MAC地址,則主機A直接利用ARP表中的MAC地址,對IP數據包進行幀封裝,並將數據包發送給主機B。

(2) 如果主機A在ARP表中找不到對應的MAC地址,則將緩存該數據報文,然後 以廣播方式發送一個ARP請求報文 。ARP請求報文中的發送端IP地址和發送端MAC地址為主機A的IP地址和MAC地址,目標IP地址和目標MAC地址為主機B的IP地址和全0的MAC地址。由於ARP請求報文以廣播方式發送, 該網段上的所有主機都可以接收到該請求,但只有被請求的主機(即主機B)會對該請求進行處理

(3) 主機B比較自己的IP地址和ARP請求報文中的目標IP地址,當兩者相同時進行如下處理:將ARP請求報文中的發送端(即主機A)的IP地址和MAC地址 存入自己的ARP表中 。之後以 單播方式發送ARP響應報文給主機A ,其中包含了自己的MAC地址。

(4) 主機A收到ARP響應報文後,將主機B的MAC地址加入到自己的ARP表中以用於後續報文的轉發,同時將IP數據包進行封裝後發送出去。

NAT名字很准確,網路地址轉換,就是 替換IP報文頭部的地址信息 。NAT通常部署在一個組織的網路出口位置,通過將 內部網路IP地址替換為出口的IP地址 提供公網可達性和上層協議的連接能力。

一個對外的訪問請求在到達目標以後,表現為由 本組織出口設備發起 ,因此被請求的服務端可將響應由Internet發回出口網關。出口網關再將 目的地址替換為私網的源主機地址 ,發回內部。這樣一次由私網主機向公網服務端的請求和響應就在通信兩端均無感知的情況下完成了。依據這種模型,數量龐大的內網主機就不再需要公有IP地址了。

路由器根據收到數據包中的 網路層地址 以及路由器內部維護的 路由表 決定輸出埠以及下一跳地址,並且 重寫鏈路層數據包頭 實現 轉發數據包 。路由器通過 動態維護路由表 來反映當前的網路拓撲,並通過網路上其他路由器 交換路由和鏈路信息 來維護路由表。

路由器的主要工作就是為經過路由器的每個數據幀尋找一條最佳傳輸路徑,並將該數據有效地傳送到目的站點。由此可見,選擇最佳路徑的策略即 路由演算法 是路由器的關鍵所在。為了完成這項工作,在路由器中保存著各種傳輸路徑的相關數據―― 路由表 (RoutingTable),供路由選擇時使用。

分級路由 廣泛應用於互聯網路由中,並且使用了多種路由協議。使用 DV(距離向量)演算法 來查找節點間的最佳路由,在分級路由中,路由器被分成很多組,稱為區域。每個路由器都 只有自己所在區域路由器的信息 ,而沒有其他區域路由器的信息。所以在其路由表中,路由器只需要存儲其他每個區域的一條記錄。再使用 路由表轉發最長匹配原則 進行數據分發。

關於路由查找的幾個重點內容:

多數情況下,某主機決定向另一個主機發送數據,通過某些方法(如ARP)獲得路由器的地址後,源主機發送指向該路由器的 物理(MAC)地址的數據包 ,其協議地址是指向目的主機的。

路由器查看了數據包的目的協議地址後,確定是否知道如何轉發該包,如果路由器不知道如何轉發,通常就將之丟棄。如果路由器知道如何轉發,就 把目的物理地址變成下一跳的物理地址 並向之發送。下一跳可能就是 最終的目的主機 ,如果不是,通常為 另一個路由器 ,它將執行同樣的步驟。當分組在網路中流動時,它的 物理地址在改變 ,但其 協議地址始終不變

路由器是 第三層網路設備 ,這樣說大家可能都不理解,就先說一下集線器和交換機吧。 集線器工作在第一層(即物理層) ,它沒有智能處理能力,對它來說,數據只是電流而已,當一個埠的電流傳到集線器中時,它只是簡單地將 電流 傳送到其他埠,至於其他埠連接的計算機接收不接收這些數據,它就不管了。 交換機工作在第二層(即數據鏈路層) ,它要比集線器智能一些,對它來說,網路上的數據就是 MAC地址的集合 ,它能分辨出幀中的源MAC地址和目的MAC地址,因此可以在任意兩個埠間建立聯系,但是交換機並不懂得IP地址,它只知道MAC地址。路由器工作在 第三層(即網路層) ,它比交換機還要「聰明」一些,它能理解數據中的 IP地址 ,如果它接收到一個數據包,就檢查其中的IP地址,如果目標地址是本地網路的就不理會,如果是其他網路的,就將數據包轉發出本地網路。

上面介紹路由的轉發,是說只替換MAC地址來進行轉發,但IP卻不會改變,這種轉發在Internet內傳播是沒有問題的,因為IP都是公共IP。

但如果路由器是連接這區域網和外部網路,這是IP就不能通用了,必須經過NAT轉換成外部網路IP。我們日常家用的路由器都是NAT模式, 先進行NAT(如地址轉換、埠轉換等),再根據路由表進行轉發

如果看完聯網上面介紹的知識點,對於這個標題其實就已經有了大概的答案了。重點還是在路由器上,由它執行數據發送。

ARP詳解

NAT(地址轉換技術)詳解

路由表轉發最長匹配原則

路由表

路由表的原理和作用

路由

一次完整的HTTP請求響應過程(很詳細)

路由器轉發規則

IP數據包經由路由轉發的時候,源ip和目的IP是否改變

❸ 如何查看到一個網路節點的路由路徑

查看到一個網路節點的路由路徑的方法和操作步驟如下:

1、首先,在桌面上,單擊「開始」圖標,然後在搜索框中輸入「 cmd」,如下圖所示。

哪個高手能給個權威的網路命令集和詳細的命令查詢到的信息詳解

收藏:網管常用的網路命令集

如果你玩過路由器的話,就知道路由器裡面那些很好玩的命令縮寫。

例如,"sh int" 的意思是 "show interface"。

現在 Windows 2000 也有了類似界面的工具,叫做 netsh。

我們在 Windows 2000 的 cmd shell 下,輸入 netsh
就出來:netsh> 提示符,
輸入 int ip 就顯示:
interface ip>

然後輸入 mp ,我們就可以看到當前系統的網路配置:

# ----------------------------------

# Interface IP Configuration

# ----------------------------------

pushd interface ip

# Interface IP Configuration for "Local Area Connection"

set address name = "Local Area Connection" source = static addr = 192.168.1.168
mask = 255.255.255.0
add address name = "Local Area Connection" addr = 192.1.1.111 mask = 255.255.255.0
set address name = "Local Area Connection" gateway = 192.168.1.100 gwmetric = 1
set dns name = "Local Area Connection" source = static addr = 202.96.209.5
set wins name = "Local Area Connection" source = static addr = none

popd
# End of interface IP configuration

上面介紹的是通過交互方式操作的一種辦法。
我們可以直接輸入命令:
"netsh interface ip add address "Local Area Connection" 10.0.0.2 255.0.0.0"
來添加 IP 地址。

如果不知道語法,不要緊的哦!
在提示符下,輸入 ? 就可以找到答案了。方便不方便啊?
原來微軟的東西裡面,也有那麼一些讓人喜歡的玩意兒。可惜,之至者甚少啊!

Windows網路命令行程序
這部分包括:

使用 ipconfig /all 查看配置
使用 ipconfig /renew 刷新配置
使用 ipconfig 管理 DNS 和 DHCP 類別 ID
使用 Ping 測試連接
使用 Arp 解決硬體地址問題
使用 nbtstat 解決 NetBIOS 名稱問題
使用 netstat 顯示連接統計
使用 tracert 跟蹤網路連接
使用 pathping 測試路由器
使用 ipconfig /all 查看配置
發現和解決 TCP/IP 網路問題時,先檢查出現問題的計算機上的 TCP/IP 配置。可以使用 ipconfig 命令獲得主機配置信息,包括 IP 地址、子網掩碼和默認網關。

注意

對於 Windows 95 和 Windows 98 的客戶機,請使用 winipcfg 命令而不是 ipconfig 命令。
使用帶 /all 選項的 ipconfig 命令時,將給出所有介面的詳細配置報告,包括任何已配置的串列埠。 使用 ipconfig /all,可以將命令輸出重定向到某個文件,並將輸出粘貼到其他文檔中。也可以用該輸出確認網路上每台計算機的 TCP/IP 配置,或者進一步調查 TCP/IP 網路問題。

例如,如果計算機配置的 IP 地址與現有的 IP 地址重復,則子網掩碼顯示為 0.0.0.0。

下面的範例是 ipconfig /all 命令輸出,該計算機配置成使用 DHCP 伺服器動態配置TCP/IP,並使用WINS 和 DNS 伺服器解析名稱。

Windows 2000 IP Configuration

Node Type.. . . . . . . . : Hybrid
IP Routing Enabled.. . . . : No
WINS Proxy Enabled.. . . . : No

Ethernet adapter Local Area Connection:

Host Name.. . . . . . . . : corp1.microsoft.com
DNS Servers . . . . . . . : 10.1.0.200
Description. . . . . . . : 3Com 3C90x Ethernet Adapter
Physical Address. . . . . : 00-60-08-3E-46-07
DHCP Enabled.. . . . . . . : Yes
Autoconfiguration Enabled.: Yes
IP Address. . . . . . . . . : 192.168.0.112
Subnet Mask. . . . . . . . : 255.255.0.0
Default Gateway. . . . . . : 192.168.0.1
DHCP Server. . . . . . . . : 10.1.0.50
Primary WINS Server. . . . : 10.1.0.101
Secondary WINS Server. . . : 10.1.0.102
Lease Obtained.. . . . . . : Wednesday, September 02, 1998 10:32:13 AM
Lease Expires.. . . . . . : Friday, September 18, 1998 10:32:13 AM

如果 TCP/IP 配置沒有問題,下一步測試能夠連接到 TCP/IP 網路上的其他主機。

使用 ipconfig /renew 刷新配置
解決 TCP/IP 網路問題時,先檢查遇到問題的計算機上的 TCP/IP 配置。如果計算機啟用 DHCP 並使用 DHCP 伺服器獲得配置,請使用 ipconfig /renew 命令開始刷新租約。

使用 ipconfig /renew 時,使用 DHCP 的計算機上的所有網卡(除了那些手動配置的適配器)都盡量連接到DHCP 伺服器,更新現有配置或者獲得新配置。

也可以使用帶 /release 選項的 ipconfig 命令立即釋放主機的當前 DHCP 配置。有關 DHCP 和租用過程的詳細信息,請參閱客戶機如何獲得配置。

注意

對於啟用 DHCP 的 Windows 95 和 Windows 98 客戶,請使用 winipcfg 命令的 release 和 renew 選項,而不是 ipconfig /release 和 ipconfig /renew 命令,手動釋放或更新客戶的 IP 配置租約。
使用 ipconfig 管理 DNS 和 DHCP 類別 ID
也可以使用 ipconfig 命令:

顯示或重置 DNS 緩存。
詳細信息,請參閱使用 ipconfig 查看或重置客戶解析程序緩存。

刷新已注冊的 DNS 名稱。
詳細信息,請參閱使用 ipconfig 更新 DNS 客戶注冊。

顯示適配器的 DHCP 類別 ID。
詳細信息,請參閱顯示客戶機上的 DHCP 類別 ID 信息。

設置適配器的 DHCP 類別 ID。
詳細信息,請參閱設置客戶機上的 DHCP 類別 ID 信息。

使用 Ping 測試連接
Ping 命令有助於驗證 IP 級的連通性。發現和解決問題時,可以使用 Ping 向目標主機名或 IP 地址發送 ICMP 回應請求。需要驗證主機能否連接到 TCP/IP 網路和網路資源時,請使用 Ping。也可以使用 Ping 隔離網路硬體問題和不兼容配置。

通常最好先用 Ping 命令驗證本地計算機和網路主機之間的路由是否存在,以及要連接的網路主機的 IP 地址。Ping 目標主機的IP 地址看它是否響應,如下:

ping IP_address

使用 Ping 時應該執行以下步驟:

Ping 環回地址驗證是否在本地計算機上安裝 TCP/IP 以及配置是否正確。
ping 127.0.0.1

Ping 本地計算機的 IP 地址驗證是否正確地添加到網路。
ping IP_address_of_local_host

Ping 默認網關的 IP 地址驗證默認網關是否運行以及能否與本地網路上的本地主機通訊。
ping IP_address_of_default_gateway

Ping 遠程主機的 IP 地址驗證能否通過路由器通訊。
ping IP_address_of_remote_host

Ping 命令用 Windows 套接字樣式的名稱解析將計算機名解析成 IP 地址,所以如果用地址成功,但是用名稱 Ping 失敗,則問題出在地址或名稱解析上,而不是網路連通性的問題。詳細信息,請參閱使用 Arp 解決硬體地址問題。

如果在任何點上都無法成功地使用 Ping,請確認:

安裝和配置 TCP/IP 之後重新啟動計算機。
「Internet 協議 (TCP/IP) 屬性」對話框「常規」選項卡上的本地計算機的 IP 地址有效而且正確。
啟用 IP 路由,並且路由器之間的鏈路是可用的。
您可以使用 Ping 命令的不同選項來指定要使用的數據包大小、要發送多少數據包、是否記錄用過的路由、要使用的生存時間 (TTL) 值以及是否設置「不分段」標志。可以鍵入 ping -? 查看這些選項。

下例說明如何向 IP 地址 172.16.48.10 發送兩個 Ping,每個都是 1,450 位元組:

C:\>ping -n 2 -l 1450 172.16.48.10
Pinging 172.16.48.10 with 1450 bytes of data:

Reply from 172.16.48.10:bytes=1450 time<10ms TTL=32
Reply from 172.16.48.10:bytes=1450 time<10ms TTL=32

Ping statistics for 157.59.8.1:
Packets:Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate roundtrip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 2ms
默認情況下,在顯示「請求超時」之前,Ping 等待 1,000 毫秒(1 秒)的時間讓每個響應返回。如果通過 Ping 探測的遠程系統經過長時間延遲的鏈路,如衛星鏈路,則響應可能會花更長的時間才能返回。可以使用 -w (等待)選項指定更長時間的超時。

使用 Arp 解決硬體地址問題
「地址解析協議 (ARP)」允許主機查找同一物理網路上的主機的媒體訪問控制地址,如果給出後者的 IP 地址。為使 ARP 更加有效,每個計算機緩存 IP 到媒體訪問控制地址映射消除重復的 ARP 廣播請求。

可以使用 arp 命令查看和修改本地計算機上的 ARP 表項。arp 命令對於查看 ARP 緩存和解決地址解析問題非常有用。

詳細信息,請參閱查看「地址解析協議 (ARP)」緩存和添加靜態 ARP 緩存項目。

使用 nbtstat 解決 NetBIOS 名稱問題
TCP/IP 上的 NetBIOS (NetBT) 將 NetBIOS 名稱解析成 IP 地址。TCP/IP 為 NetBIOS 名稱解析提供了很多選項,包括本地緩存搜索、WINS 伺服器查詢、廣播、DNS 伺服器查詢以及 Lmhosts 和主機文件搜索。

Nbtstat 是解決 NetBIOS 名稱解析問題的有用工具。可以使用nbtstat 命令刪除或更正預載入的項目:

nbtstat -n 顯示由伺服器或重定向器之類的程序在系統上本地注冊的名稱。
nbtstat -c 顯示 NetBIOS 名稱緩存,包含其他計算機的名稱對地址映射。
nbtstat -R 清除名稱緩存,然後從 Lmhosts 文件重新載入。
nbtstat -RR 釋放在 WINS 伺服器上注冊的 NetBIOS 名稱,然後刷新它們的注冊。
nbtstat -a name 對 name 指定的計算機執行 NetBIOS 適配器狀態命令。適配器狀態命令將返回計算機的本地 NetBIOS 名稱表,以及適配器的媒體訪問控制地址。
nbtstat -S 列出當前的 NetBIOS 會話及其狀態(包括統計),如下例所示:
NetBIOS connection table

Local name State In/out Remote Host Input Output
------------------------------------------------------------------
CORP1 <00> Connected Out CORPSUP1<20> 6MB 5MB
CORP1 <00> Connected Out CORPPRINT<20> 108KB 116KB
CORP1 <00> Connected Out CORPSRC1<20> 299KB 19KB
CORP1 <00> Connected Out CORPEMAIL1<20> 324KB 19KB
CORP1 <03> Listening
使用 netstat 顯示連接統計
可以使用 netstat 命令顯示協議統計信息和當前的 TCP/IP 連接。netstat -a 命令將顯示所有連接,而 netstat -r 顯示路由表和活動連接。netstat -e 命令將顯示Ethernet 統計信息,而 netstat -s 顯示每個協議的統計信息。如果使用 netstat -n,則不能將地址和埠號轉換成名稱。下面是 netstat 的輸出示例:

C:\>netstat -e
Interface Statistics

Received Sent
Bytes 3995837940 47224622
Unicast packets 120099 131015
Non-unicast packets 7579544 3823
Discards 0 0
Errors 0 0
Unknown protocols 363054211

C:\>netstat -a

Active Connections

Proto Local Address Foreign Address State
TCP CORP1:1572 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1589 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1606 172.16.105.245:nbsession ESTABLISHED
TCP CORP1:1632 172.16.48.213:nbsession ESTABLISHED
TCP CORP1:1659 172.16.48.169:nbsession ESTABLISHED
TCP CORP1:1714 172.16.48.203:nbsession ESTABLISHED
TCP CORP1:1719 172.16.48.36:nbsession ESTABLISHED
TCP CORP1:1241 172.16.48.101:nbsession ESTABLISHED
UDP CORP1:1025 *:*
UDP CORP1:snmp *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*

C:\>netstat -s
IP Statistics

Packets Received = 5378528
Received Header Errors = 738854
Received Address Errors = 23150
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 0
Received Packets Delivered = 4616524
Output Requests = 132702
Routing Discards = 157
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures =
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0

ICMP Statistics
Received Sent
Messages 693 4
Errors 0 0
Destination Unreachable 685 0
Time Exceeded 0 0
Parameter Problems 0 0
Source Quenches 0 0
Redirects 0 0
Echoes 4 0
Echo Replies 0 4
Timestamps 0 0
Timestamp Replies 0 0
Address Masks 0 0
Address Mask Replies 0 0

TCP Statistics

Active Opens = 597
Passive Opens = 135
Failed Connection Attempts = 107
Reset Connections = 91
Current Connections = 8
Segments Received = 106770
Segments Sent = 118431
Segments Retransmitted = 461

UDP Statistics

Datagrams Received = 4157136
No Ports = 351928
Receive Errors = 2
Datagrams Sent = 13809

使用 tracert 跟蹤網路連接
Tracert(跟蹤路由)是路由跟蹤實用程序,用於確定 IP 數據報訪問目標所採取的路徑。Tracert 命令用 IP 生存時間 (TTL) 欄位和 ICMP 錯誤消息來確定從一個主機到網路上其他主機的路由。

Tracert 工作原理
通過向目標發送不同 IP 生存時間 (TTL) 值的「Internet 控制消息協議 (ICMP)」回應數據包, Tracert 診斷程序確定到目標所採取的路由。要求路徑上的每個路由器在轉發數據包之前至少將數據包上的 TTL 遞減 1。數據包上的 TTL 減為 0 時,路由器應該將「ICMP 已超時」的消息發回源系統。

Tracert 先發送 TTL 為 1 的回應數據包,並在隨後的每次發送過程將 TTL 遞增 1,直到目標響應或 TTL 達到最大值,從而確定路由。通過檢查中間路由器發回的「ICMP 已超時」的消息確定路由。某些路由器不經詢問直接丟棄 TTL 過期的數據包,這在Tracert 實用程序中看不到。

Tracert 命令按順序列印出返回「ICMP 已超時」消息的路徑中的近端路由器介面列表。如果使用 -d 選項,則 Tracert 實用程序不在每個 IP 地址上查詢 DNS。

在下例中,數據包必須通過兩個路由器(10.0.0.1 和 192.168.0.1)才能到達主機172.16.0.99。主機的默認網關是 10.0.0.1,192.168.0.0 網路上的路由器的 IP地址是 192.168.0.1。

C:\>tracert 172.16.0.99 -d
Tracing route to 172.16.0.99 over a maximum of 30 hops
1 2s 3s 2s 10,0.0,1
2 75 ms 83 ms 88 ms 192.168.0.1
3 73 ms 79 ms 93 ms 172.16.0.99
Trace complete.
用 tracert 解決問題
可以使用 tracert 命令確定數據包在網路上的停止位置。下例中,默認網關確定 192.168.10.99 主機沒有有效路徑。這可能是路由器配置的問題,或者是 192.168.10.0 網路不存在(錯誤的 IP 地址)。

C:\>tracert 192.168.10.99

Tracing route to 192.168.10.99 over a maximum of 30 hops

1 10.0.0.1 reportsestination net unreachable.

Trace complete.

Tracert 實用程序對於解決大網路問題非常有用,此時可以採取幾條路徑到達同一個點。

Tracert 命令行選項
Tracert 命令支持多種選項,如下表所示。

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

選項 描述
-d 指定不將 IP 地址解析到主機名稱。
-h maximum_hops 指定躍點數以跟蹤到稱為 target_name 的主機的路由。
-j host-list 指定 Tracert 實用程序數據包所採用路徑中的路由器介面列表。
-w timeout 等待 timeout 為每次回復所指定的毫秒數。
target_name 目標主機的名稱或 IP地址。

詳細信息,請參閱使用 tracert 命令跟蹤路徑。

使用 pathping 測試路由器
pathping 命令是一個路由跟蹤工具,它將 ping 和 tracert 命令的功能和這兩個工具所不提供的其他信息結合起來。pathping 命令在一段時間內將數據包發送到到達最終目標的路徑上的每個路由器,然後基於數據包的計算機結果從每個躍點返回。由於命令顯示數據包在任何給定路由器或鏈接上丟失的程度,因此可以很容易地確定可能導致網路問題的路由器或鏈接。某些選項是可用的,如下表所示。

選項 名稱 功能
-n Hostnames 不將地址解析成主機名。
-h Maximum hops 搜索目標的最大躍點數。
-g Host-list 沿著路由列表釋放源路由。
-p Period 在 ping 之間等待的毫秒數。
-q Num_queries 每個躍點的查詢數。
-w Time-out 為每次回復所等待的毫秒數。
-T Layer 2 tag 將第 2 層優先順序標記(例如,對於 IEEE 802.1p)連接到數據包並將它發送到路徑中的每個網路設備。這有助於標識沒有正確配置第 2 層優先順序的網路設備。-T 開關用於測試服務質量 (QoS) 連通性。
-R RSVP isbase Che檢查以確定路徑中的每個路由器是否支持「資源保留協議 (RSVP)」,此協議允許主機為數據流保留一定量的帶寬。 -R 開關用於測試服務質量 (QoS) 連通性。

默認的躍點數是 30,並且超時前的默認等待時間是 3 秒。默認時間是 250 毫秒,並且沿著路徑對每個路由器進行查詢的次數是 100。

以下是典型的 pathping 報告。躍點列表後所編輯的統計信息表明在每個獨立路由器上數據包丟失的情況。

D:\>pathping -n msw

Tracing route to msw [7.54.1.196]
over a maximum of 30 hops:
0 172.16.87.35
1 172.16.87.218
2 192.68.52.1
3 192.68.80.1
4 7.54.247.14
5 7.54.1.196

Computing statistics for 125 seconds...
Source to Here This Node/Link
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address
0 172.16.87.35
0/ 100 = 0% |
1 41ms 0/ 100 = 0% 0/ 100 = 0% 172.16.87.21813/ 100 = 13% |
2 22ms 16/ 100 = 16% 3/ 100 = 3% 192.68.52.10/ 100 = 0% |
3 24ms 13/ 100 = 13% 0/ 100 = 0% 192.68.80.1 0/ 100 = 0% |
4 21ms 14/ 100 = 14% 1/ 100 = 1% 10.54.247.14 0/ 100 = 0% |
5 24ms 13/ 100 = 13% 0/ 100 = 0% 10.54.1.196

Trace complete.

當運行 pathping 時,在測試問題時首先查看路由的結果。此路徑與 tracert 命令所顯示的路徑相同。然後 pathping 命令對下一個 125 毫秒顯示忙消息(此時間根據躍點計數變化)。在此期間,pathping 從以前列出的所有路由器和它們之間的鏈接之間收集信息。在此期間結束時,它顯示測試結果。

最右邊的兩欄 This Node/Link Lost/Sent=Pct 和 Address 包含的信息最有用。172.16.87.218(躍點 1)和 192.68.52.1(躍點 2)丟失 13% 的數據包。 所有其他鏈接工作正常。在躍點 2 和 4 中的路由器也丟失定址到它們的數據包(如 This Node /Link 欄中所示),但是該丟失不會影響轉發的路徑。

對鏈接顯示的丟失率(在最右邊的欄中標記為 |)表明沿路徑轉發丟失的數據包。該丟失表明鏈接阻塞。對路由器顯示的丟失率(通過最右邊欄中的 IP 地址顯示)表明這些路由器的 CPU 可能超負荷運行。這些阻塞的路由器可能也是端對端問題的一個因素,尤其是在軟體路由器轉發數據包時。

❺ 網路連接詳解

用戶: 需求發起者。

數據傳輸過程圖:

應用程序: 發起數據的傳輸交流過程。

過程:

過程:

過程:

過程:

過程:

過程:

過程:

註: OSI參考模型總結 - 小白的博客 - CSDN博客

訪問伺服器的過程可以通過 windows+R 快捷命令 --> 進入運行界面--->然後通過cmd 命令 --->進入控制台--->然後輸入命令 tracert + 訪問的域名網址-->查看訪問過程。

ping命令來測試網路連接:

物理層常見故障:

硬體連接問題:1.接觸不良2.硬體未連通

數據鏈路層故障:

1.MAC地址沖突不能上網;

2.交換機與計算機網卡的帶寬協商不一致,網速不一致導致網路不通;

3.ADSL欠費導致網路不通;

4.將計算機錯誤的連接到VLAN(Virtual Local Area Network)。

註:

網路層故障:

1.計算機IP地址設置錯誤。

2.計算機沒有設置網關。

3.計算機子網掩碼配置錯誤。

4.沿途路由器路由表錯誤。

傳輸層故障:

表示層故障:

亂碼問題(字元集對應錯誤)

應用層故障:

應用層程序配置問題(瀏覽器伺服器的配置問題導致上網故障等)

物理層安全:

防止非法計算機接入公司網路(包括無線AP)

數據鏈路層安全:

1.設置WiFi密碼,屬於網路鏈路層添加秘鑰的方法。

2.公司內部的交換機可以設置哪個Mac地址可以接入,設置接多少台計算機。

3.家裡的ASDL撥號上網的需要登入賬號密碼。

4.劃分不同的VLAN(Virtual Local Area Network)

網路層安全:

1.在路由器上設置ACL控制數據包轉發,控制網路。

2.在計算機上設置網路安全,設置訪問許可權。

應用層安全:

發現軟體漏洞,增補丁。

TCP用主機的IP地址加上主機上的埠號作為TCP連接的端點,這種端點就叫做套接字(socket)或插口。套接字可以實現將多個客戶連接到一個伺服器。

它是網路通信中端點的抽象表示,包含進行網路通信必需的五種信息:1.連接使用的協議,2.本地主機的IP地址,3.本地進程的協議埠,4.遠地主機的IP地址,5.遠地進程的協議埠。

1.域: 套接字通信中使用的網路介質,常見的有AF_INET(因特網路)

2.類型:

a. 流式套接字(sock_stream): 用於提供面向連接、有序的、可靠的雙向jie節流的鏈接式數據傳輸服務,由類型sock_stream指定,他是在AF_INET域中通過TCP/IP鏈接實現的。

b. 數據報套接字(sock_dgram): 提供了一種無連接的服務,是AF_INET域中通過UDP/IP鏈接實現的。

c. 原始套接字(sock_raw): 允許對較低層次的協議直接訪問,比如IP、ICMP協議,他常用於檢驗新的協議的實現或者訪問現有服務中配置的新設備。網路監聽技術很大程度上依賴於socket_raw.

3.協議: 套接字協議一般採用默認值。即默認參數為0。

1.套接字是用於描述IP地址和埠,是一個通信鏈的句柄。應用程序通常通過"套接字"向網路發出請求或者應答網路請求。

2.當前應用進程需要使用網路進行通信時,就會發出系統調用,請求操作系統為其創建「套接字」,以便把網路通信所需要的系統資源分配給該應用進程。

3.操作系統為這些資源的總和,用一個叫做套接字描述符的號碼表示,並把此號碼返回給應用進程,應用進程所進行的網路操作都必須使用這個號碼。

4.通信完畢後,應用進程通過一個關閉套接字的系統調用通知操作系統回收與該「號碼」相關的所有資源。

1.連接創建階段

a.套接字被創建後,其埠號和IP地址都是空的,應用進程調用bind(綁定)來指明套接字的本地地址(在伺服器端調用bind時就是把熟知埠號和本地IP填寫到已創建的套接字中)

b.伺服器調用bind後 ,還必須調用listen(收聽)把套接字設置為被動方式,以便隨時接收客戶的服務請求。(UDP伺服器由於只提供了無限連接服務,不使用listen系統調用)

c.客戶進程發送連接請求後,伺服器緊接著調用accept(接受),以把客戶進程發來的連接請求提取出來。(系統調用accept的一個變數就是要指明哪一個套接字發起的連接。)

2.數據傳輸階段

客戶和伺服器都在TCP連接上使用send系統調用傳送數據,使用recv系統調用接收數據。

3.連接釋放階段

一旦客戶或者伺服器結束使用套接字,就把套接字撤銷,此時調用close釋放連接和撤銷套接字。應用層總結-系統調用和應用編程介面 - 十分殘念的博客 - CSDN博客

其過程示意圖如下:

網路編程的目的:

直接或間接地通過網路協議與其他計算機進行通訊。

網路編程的問題:

1.如何准確的定位網路上一台或多態主機。

2.找到主機後,如何快速高效的傳輸數據。

網路編程的對象:

傳輸層提供的面向應用的可靠或非可靠的數據傳輸機制。

網路編程流行模型:

1.CS模型(客戶端/伺服器模型)

2.BS模型(瀏覽器/伺服器模型)

參考網路編程--Socket(套接字) - A-祥子 - 博客園

註: 擴展鏈接內關於TCP/IP的相關知識講解也相當詳細,可以參考瀏覽一下。

❻ 請說一下http請求的基本過程

首先http是一個應用層的協議,在這個層的協議,只是一種通訊規范,也就是因為雙方要進行通訊,大家要事先約定一個規范。

1.連接 當我們輸入這樣一個請求時,首先要建立一個socket連接,因為socket是通過ip和埠建立的,所以之前還有一個DNS解析過程,把www.mycompany.com變成ip,如果url里不包含埠號,則會使用該協議的默認埠號。

DNS的過程是這樣的:首先我們知道我們本地的機器上在配置網路時都會填寫DNS,這樣本機就會把這個url發給這個配置的DNS伺服器,如果能夠
找到相應的url則返回其ip,否則該DNS將繼續將該解析請求發送給上級DNS,整個DNS可以看做是一個樹狀結構,該請求將一直發送到根直到得到結
果。現在已經擁有了目標ip和埠號,這樣我們就可以打開socket連接了。

2.請求 連接成功建立後,開始向web伺服器發送請求,這個請求一般是GET或POST命令(POST用於FORM參數的傳遞)。GET命令的格式為:GET 路徑/文件名 HTTP/1.0
文件名指出所訪問的文件,HTTP/1.0指出Web瀏覽器使用的HTTP版本。現在可以發送GET命令:

GET /mydir/index.html HTTP/1.0,

3.應答 web伺服器收到這個請求,進行處理。從它的文檔空間中搜索子目錄mydir的文件index.html。如果找到該文件,Web伺服器把該文件內容傳送給相應的Web瀏覽器。

為了告知瀏覽器,,Web伺服器首先傳送一些HTTP頭信息,然後傳送具體內容(即HTTP體信息),HTTP頭信息和HTTP體信息之間用一個空行分開。
常用的HTTP頭信息有:
① HTTP 1.0 200 OK 這是Web伺服器應答的第一行,列出伺服器正在運行的HTTP版本號和應答代碼。代碼"200 OK"表示請求完成。
② MIME_Version:1.0它指示MIME類型的版本。
③ content_type:類型這個頭信息非常重要,它指示HTTP體信息的MIME類型。如:content_type:text/html指示傳送的數據是HTML文檔。
④ content_length:長度值它指示HTTP體信息的長度(位元組)。

4.關閉連接:當應答結束後,Web瀏覽器與Web伺服器必須斷開,以保證其它Web瀏覽器能夠與Web伺服器建立連接。

下面我們具體分析其中的數據包在網路中漫遊的經歷

在網路分層結構中,各層之間是嚴格單向依賴的。「服務」是描述各層之間關系的抽象概念,即網路中各層向緊鄰上層提供的一組操作。下層是服務提供者,
上層是請求服務的用戶。服務的表現形式是原語(primitive),如系統調用或庫函數。系統調用是操作系統內核向網路應用程序或高層協議提供的服務原
語。網路中的n層總要向n+1層提供比n-1層更完備的服務,否則n層就沒有存在的價值。

傳輸層實現的是「端到端」通信,引進網間進程通信概念,同時也要解決差錯控制,流量控制,數據排序(報文排序),連接管理等問題,為此提供不同的服
務方式。通常傳輸層的服務通過系統調用的方式提供,以socket的方式。對於客戶端,要想建立一個socket連接,需要調用這樣一些函數socket
() bind() connect(),然後就可以通過send()進行數據發送。

現在看數據包在網路中的穿行過程:

應用層

首先我們可以看到在應用層,根據當前的需求和動作,結合應用層的協議,有我們確定發送的數據內容,我們把這些數據放到一個緩沖區內,然後形成了應用層的報文data。

傳輸層

這些數據通過傳輸層發送,比如tcp協議。所以它們會被送到傳輸層處理,在這里報文打上了傳輸頭的包頭,主要包含埠號,以及tcp的各種制信息,這些信息是直接得到的,因為介面中需要指定埠。這樣就組成了tcp的數據傳送單位segment。tcp
是一種端到端的協議,利用這些信息,比如tcp首部中的序號確認序號,根據這些數字,發送的一方不斷的進行發送等待確認,發送一個數據段後,會開啟一個計
數器,只有當收到確認後才會發送下一個,如果超過計數時間仍未收到確認則進行重發,在接受端如果收到錯誤數據,則將其丟棄,這將導致發送端超時重發。通過
tcp協議,控制了數據包的發送序列的產生,不斷的調整發送序列,實現流控和數據完整。

網路層

然後待發送的數據段送到網路層,在網路層被打包,這樣封裝上了網路層的包頭,包頭內部含有源及目的的ip地址,該層數據發送單位被稱為packet。網路層開始負責將這樣的數據包在網路上傳輸,如何穿過路由器,最終到達目的地址。在這里,根據目的ip地址,就需要查找下一跳路由的地址。首先在本機,要查找本機的路由表,在windows上運行route print就可以看到當前路由表內容,有如下幾項:
Active Routes Default Route Persistent Route.

整個查找過程是這樣的:
(1)根據目的地址,得到目的網路號,如果處在同一個內網,則可以直接發送。
(2)如果不是,則查詢路由表,找到一個路由。
(3)如果找不到明確的路由,此時在路由表中還會有默認網關,也可稱為預設網關,IP用預設的網關地址將一個數據傳送給下一個指定的路由器,所以網關也可能是路由器,也可能只是內網向特定路由器傳輸數據的網關。
(4)
路由器收到數據後,它再次為遠程主機或網路查詢路由,若還未找到路由,該數據包將發送到該路由器的預設網關地址。而數據包中包含一個最大路由跳數,如果超
過這個跳數,就會丟棄數據包,這樣可以防止無限傳遞。路由器收到數據包後,只會查看網路層的包裹數據,目的ip。所以說它是工作在網路層,傳輸層的數據對
它來說則是透明的。

如果上面這些步驟都沒有成功,那麼該數據報就不能被傳送。如果不能傳送的數據報來自本機,那麼一般會向生成數據報的應用程序返回一個「主機不可達」或 「網路不可達」的錯誤。

以windows下主機的路由表為例,看路由的查找過程
======================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.2 192.168.1.101 10
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.1.0 255.255.255.0 192.168.1.101 192.168.1.101 10
192.168.1.101 255.255.255.255 127.0.0.1 127.0.0.1 10
192.168.1.255 255.255.255.255 192.168.1.101 192.168.1.101 10
224.0.0.0 240.0.0.0 192.168.1.101 192.168.1.101 10
255.255.255.255 255.255.255.255 192.168.1.101 192.168.1.101 1
Default Gateway: 192.168.1.2

Network Destination 目的網段
Netmask 子網掩碼
Gateway 下一跳路由器入口的ip,路由器通過interface和gateway定義一調到下一個路由器的鏈路,通常情況下,interface和gateway是同一網段的。
Interface 到達該目的地的本路由器的出口ip(對於我們的個人pc來說,通常由機算機A的網卡,用該網卡的IP地址標識,當然一個pc也可以有多個網卡)。

網關這個概念,主要用於不同子網間的交互,當兩個子網內主機A,B要進行通訊時,首先A要將數據發送到它的本地網關,然後網關再將數據發送給B所在的網關,然後網關再發送給B。
默認網關,當一個數據包的目的網段不在你的路由記錄中,那麼,你的路由器該把那個數據包發送到哪裡!預設路由的網關是由你的連接上的default gateway決定的,也就是我們通常在網路連接里配置的那個值。

通常interface和gateway處在一個子網內,對於路由器來說,因為可能具有不同的interface,當數據包到達時,根據
Network
Destination尋找匹配的條目,如果找到,interface則指明了應當從該路由器的那個介面出去,gateway則代表了那個子網的網關地
址。

第一條 0.0.0.0 0.0.0.0 192.168.1.2 192.168.1.101 10
0.0.0.0
代表了預設路由。該路由記錄的意思是:當我接收到一個數據包的目的網段不在我的路由記錄中,我會將該數據包通過192.168.1.101這個介面發送到
192.168.1.2這個地址,這個地址是下一個路由器的一個介面,這樣這個數據包就可以交付給下一個路由器處理,與我無關。該路由記錄的線路質量
10。當有多個條目匹配時,會選擇具有較小Metric值的那個。

第三條 192.168.1.0 255.255.255.0 192.168.1.101 192.168.1.101 10

聯網段的路由記錄:當路由器收到發往直聯網段的數據包時該如何處理,這種情況,路由記錄的interface和gateway是同一個。當我接收到一個數
據包的目的網段是192.168.1.0時,我會將該數據包通過192.168.1.101這個介面直接發送出去,因為這個埠直接連接著
192.168.1.0這個網段,該路由記錄的線路質量
10 (因interface和gateway是同一個,表示數據包直接傳送給目的地址,不需要再轉給路由器)。

一般就分這兩種情況,目的地址與當前路由器介面是否在同一子網。如果是則直接發送,不需再轉給路由器,否則還需要轉發給下一個路由器繼續進行處理。

查找到下一跳ip地址後,還需要知道它的mac地址,這個地址要作為鏈路層數據裝進鏈路層頭部。這時需要arp協議,具體過程是這樣的,查找arp
緩沖,windows下運行arp
-a可以查看當前arp緩沖內容。如果裡面含有對應ip的mac地址,則直接返回。否則需要發生arp請求,該請求包含源的ip和mac地址,還有目的地
的ip地址,在網內進行廣播,所有的主機會檢查自己的ip與該請求中的目的ip是否一樣,如果剛好對應則返回自己的mac地址,同時將請求者的ip
mac保存。這樣就得到了目標ip的mac地址。

鏈路層

將mac地址及鏈路層控制信息加到數據包里,形成Frame,Frame在鏈路層協議下,完成了相鄰的節點間的數據傳輸,完成連接建立,控制傳輸速度,數據完整。

物理層

物理線路則只負責該數據以bit為單位從主機傳輸到下一個目的地。

下一個目的地接受到數據後,從物理層得到數據然後經過逐層的解包 到 鏈路層 到 網路層,然後開始上述的處理,在經網路層 鏈路層 物理層將數據封裝好繼續傳往下一個地址。

在上面的過程中,可以看到有一個路由表查詢過程,而這個路由表的建立則依賴於路由演算法。也就是說路由演算法實際上只是用來路由器之間更新維護路由表,
真正的數據傳輸過程並不執行這個演算法,只查看路由表。這個概念也很重要,需要理解常用的路由演算法。而整個tcp協議比較復雜,跟鏈路層的協議有些相似,其
中有很重要的一些機制或者概念需要認真理解,比如編號與確認,流量控制,重發機制,發送接受窗口。

tcp/ip基本模型及概念

物理層

設備,中繼器(repeater),集線器(hub)。對於這一層來說,從一個埠收到數據,會轉發到所有埠。

鏈路層

協議:SDLC(Synchronous Data Link Control)HDLC(High-level Data Link
Control)
ppp協議獨立的鏈路設備中最常見的當屬網卡,網橋也是鏈路產品。集線器MODEM的某些功能有人認為屬於鏈路層,對此還有些爭議認為屬於物理層設備。除
此之外,所有的交換機都需要工作在數據鏈路層,但僅工作在數據鏈路層的僅是二層交換機。其他像三層交換機、四層交換機和七層交換機雖然可對應工作在OSI
的三層、四層和七層,但二層功能仍是它們基本的功能。

因為有了MAC地址表,所以才充分避免了沖突,因為交換機通過目的MAC地址知道應該把這個數據轉發到哪個埠。而不會像HUB一樣,會轉發到所有滴埠。所以,交換機是可以劃分沖突域滴。

網路層

四個主要的協議:
網際協議IP:負責在主機和網路之間定址和路由數據包。
地址解析協議ARP:獲得同一物理網路中的硬體主機地址。
網際控制消息協議ICMP:發送消息,並報告有關數據包的傳送錯誤。
互聯組管理協議IGMP:被IP主機拿來向本地多路廣播路由器報告主機組成員。

該層設備有三層交換機,路由器。

傳輸層

兩個重要協議 TCP 和 UDP 。

埠概念:TCP/UDP 使用 IP 地址標識網上主機,使用埠號來標識應用進程,即 TCP/UDP 用主機 IP
地址和為應用進程分配的埠號來標識應用進程。埠號是 16 位的無符號整數, TCP 的埠號和 UDP
的埠號是兩個獨立的序列。盡管相互獨立,如果 TCP 和 UDP
同時提供某種知名服務,兩個協議通常選擇相同的埠號。這純粹是為了使用方便,而不是協議本身的要求。利用埠號,一台主機上多個進程可以同時使用
TCP/UDP 提供的傳輸服務,並且這種通信是端到端的,它的數據由 IP 傳遞,但與 IP
數據報的傳遞路徑無關。網路通信中用一個三元組可以在全局唯一標志一個應用進程:(協議,本地地址,本地埠號)。

也就是說tcp和udp可以使用相同的埠。

可以看到通過(協議,源埠,源ip,目的埠,目的ip)就可以用來完全標識一組網路連接。

應用層

基於tcp:Telnet FTP SMTP DNS HTTP
基於udp:RIP NTP(網落時間協議)和DNS (DNS也使用TCP)SNMP TFTP

怎麼查詢電腦的網路是否連接

1、首先在電腦右下角可以看到網路連接的圖標,如果連接正常在圖標上不會顯示無連接的樣式,下圖中為已經連接網路的狀態。

❽ 如何查看自己網路所經過的節點

在cmd命令提示符下里使用tracert 命令+ip地址就可以看到自己的網路經過那些路由、節點。
Tracert(跟蹤路由)是路由跟蹤實用程序,用於確定 IP 數據包訪問目標所採取的路徑。Tracert 命令用 IP 生存時間 (TTL) 欄位和 ICMP 錯誤消息來確定從一個主機到網路上其他主機的路由。

計算機網路裡面的鏈路是什麼

什麼是鏈路層劫持
數據鏈路層處在OSI模型的第二層,它控制網路層與物理層之間的通信。數據鏈路層定義了如何讓格式化數據以進行傳輸,以及如何讓控制對物理介質的訪問。它的主要功能是如何在不可靠的物理線路上進行數據的可靠傳遞,還提供錯誤檢測和糾正,以確保數據的可靠傳輸。該層的作用包括:物理地址定址、數據的成幀、流量控制、數據的檢錯、重發等。

鏈路層劫持是指第三方(可能是運營商、黑客)通過在用戶至伺服器之間,植入惡意設備或者控制網路設備的手段,偵聽或篡改用戶和伺服器之間的數據,達到竊取用戶重要數據(包括用戶密碼,用戶身份數據等等)的目的。鏈路層劫持最明顯的危害就是帳號、密碼被竊取。

二、鏈路劫持案例分析
以下引用紅黑聯盟站內一項案例分析,說明鏈路劫持的現象。

案例現象描述:
有用戶反饋訪問公司部分業務的URL時被重定向至公司其他業務的URL,導致用戶無法請求所需的服務,嚴重影響了用戶體驗以及用戶利益。我們第一時間通過遠控的方式復現了上述現象,並及時抓取了相關數據包以供分析,當然前期也採取了用戶電腦殺毒、開發者工具分析等方式排除了用戶端個人原因的可能性。從圖1來看,初步判斷是運營商某員工所為,意欲通過流量重定向來獲取非法的流量分成,啥意思呢,被劫持的該業務的流量要經過聯盟的該賬戶spm,使得公司再付費給聯盟,歸根結底還是為了盈利。

案例問題追蹤:
通過分析抓取的樣本數據發現,數據包在傳輸過程中出現異常TTL,目標機的正常TTL為51如圖2。

❿ 如何獲取IE發出的HTTP請求頭

HTTP請求頭概述 (HttpServletRequest) HTTP客戶程序(例如瀏覽器),向伺服器發送請求的時候必須指明請求類型(一般是GET或者POST)。如有必要,客戶程序還可以選擇發送其他的請求頭。大多數請求頭並不是必需的,但Content-Length除外。對於POST請求來說Content-Length必須出現。 下面是一些最常見的請求頭 Accept:瀏覽器可接受的MIME類型。 Accept-Charset:瀏覽器可接受的字元集。 Accept-Encoding:瀏覽器能夠進行解碼的數據編碼方式,比如gzip。Servlet能夠向支持gzip的瀏覽器返回經gzip編碼的HTML頁面。許多情形下這可以減少5到10倍的下載時間。 Accept-Language:瀏覽器所希望的語言種類,當伺服器能夠提供一種以上的語言版本時要用到。 Authorization:授權信息,通常出現在對伺服器發送的WWW-Authenticate頭的應答中。 Connection:表示是否需要持久連接。如果Servlet看到這里的值為「Keep-Alive」,或者看到請求使用的是HTTP 1.1(HTTP 1.1默認進行持久連接),它就可以利用持久連接的優點,當頁麵包含多個元素時(例如Applet,圖片),顯著地減少下載所需要的時間。要實現這一點,Servlet需要在應答中發送一個Content-Length頭,最簡單的實現方法是:先把內容寫入ByteArrayOutputStream,然後在正式寫出內容之前計算它的大小。 Content-Length:表示請求消息正文的長度。 Cookie:這是最重要的請求頭信息之一 From:請求發送者的email地址,由一些特殊的Web客戶程序使用,瀏覽器不會用到它。 Host:初始URL中的主機和埠。 If-Modified-Since:只有當所請求的內容在指定的日期之後又經過修改才返回它,否則返回304「Not Modified」應答。 Pragma:指定「no-cache」值表示伺服器必須返回一個刷新後的文檔,即使它是代理伺服器而且已經有了頁面的本地拷貝。 Referer:包含一個URL,用戶從該URL代表的頁面出發訪問當前請求的頁面。 User-Agent:瀏覽器類型,如果Servlet返回的內容與瀏覽器類型有關則該值非常有用。 UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE瀏覽器所發送的非標準的請求頭,表示屏幕大小、顏色深度、操作系統和CPU類型。 有關HTTP頭完整、詳細的說明,請參見/Protocols/的HTTP規范。 HTTP應答頭概述(HttpServletResponse) Web伺服器的HTTP應答一般由以下幾項構成:一個狀態行,一個或多個應答頭,一個空行,內容文檔。設置HTTP應答頭往往和設置狀態行中的狀態代碼結合起來。例如,有好幾個表示「文檔位置已經改變」的狀態代碼都伴隨著一個Location頭,而401(Unauthorized)狀態代碼則必須伴隨一個WWW-Authenticate頭。 然而,即使在沒有設置特殊含義的狀態代碼時,指定應答頭也是很有用的。應答頭可以用來完成:設置Cookie,指定修改日期,指示瀏覽器按照指定的間隔刷新頁面,聲明文檔的長度以便利用持久HTTP連接,……等等許多其他任務。 設置應答頭最常用的方法是HttpServletResponse的setHeader,該方法有兩個參數,分別表示應答頭的名字和值。和設置狀態代碼相似,設置應答頭應該在發送任何文檔內容之前進行。 setDateHeader方法和setIntHeadr方法專門用來設置包含日期和整數值的應答頭,前者避免了把Java時間轉換為GMT時間字元串的麻煩,後者則避免了把整數轉換為字元串的麻煩。 HttpServletResponse還提供了許多設置setContentType:設置Content-Type頭。大多數Servlet都要用到這個方法。 setContentLength:設置Content-Length頭。對於支持持久HTTP連接的瀏覽器來說,這個函數是很有用的。 addCookie:設置一個Cookie(Servlet API中沒有setCookie方法,因為應答往往包含多個Set-Cookie頭)。 另外,如上節介紹,sendRedirect方法設置狀態代碼302時也會設置Location頭。 有關HTTP頭詳細和完整的說明,請參見/Protocols/規范。 HTTP應答頭 說明 Allow 伺服器支持哪些請求方法(如GET、POST等)。 Content-Encoding 文檔的編碼(Encode)方法。只有在解碼之後才可以得到Content-Type頭指定的內容類型。利用gzip壓縮文檔能夠顯著地減少HTML文檔的下載時間。Java的GZIPOutputStream可以很方便地進行gzip壓縮,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。因此,Servlet應該通過查看Accept-Encoding頭(即request.getHeader("Accept-Encoding"))檢查瀏覽器是否支持gzip,為支持gzip的瀏覽器返回經gzip壓縮的HTML頁面,為其他瀏覽器返回普通頁面。 Content-Length 表示內容長度。只有當瀏覽器使用持久HTTP連接時才需要這個數據。如果你想要利用持久連接的優勢,可以把輸出文檔寫入ByteArrayOutputStram,完成後查看其大小,然後把該值放入Content-Length頭,最後通過byteArrayStream.writeTo(response.getOutputStream()發送內容。 Content-Type 表示後面的文檔屬於什麼MIME類型。Servlet默認為text/plain,但通常需要顯式地指定為text/html。由於經常要設置Content-Type,因此HttpServletResponse提供了一個專用的方法setContentTyep。 Date 當前的GMT時間。你可以用setDateHeader來設置這個頭以避免轉換時間格式的麻煩。 Expires 應該在什麼時候認為文檔已經過期,從而不再緩存它? Last-Modified 文檔的最後改動時間。客戶可以通過If-Modified-Since請求頭提供一個日期,該請求將被視為一個條件GET,只有改動時間遲於指定時間的文檔才會返回,否則返回一個304(Not Modified)狀態。Last-Modified也可用setDateHeader方法來設置。 Location 表示客戶應當到哪裡去提取文檔。Location通常不是直接設置的,而是通過HttpServletResponse的sendRedirect方法,該方法同時設置狀態代碼為302。 Refresh 表示瀏覽器應該在多少時間之後刷新文檔,以秒計。除了刷新當前文檔之外,你還可以通過setHeader("Refresh", "5; URL=host/path")讓瀏覽器讀取指定的頁面。注意這種功能通常是通過設置HTML頁面HEAD區的<META HTTP-EQUIV="Refresh" CONTENT="5;URL=host/path">實現,這是因為,自動刷新或重定向對於那些不能使用CGI或Servlet的HTML編寫者十分重要。但是,對於Servlet來說,直接設置Refresh頭更加方便。注意Refresh的意義是「N秒之後刷新本頁面或訪問指定頁面」,而不是「每隔N秒刷新本頁面或訪問指定頁面」。因此,連續刷新要求每次都發送一個Refresh頭,而發送204狀態代碼則可以阻止瀏覽器繼續刷新,不管是使用Refresh頭還是<META HTTP-EQUIV="Refresh" ...>。注意Refresh頭不屬於HTTP 1.1正式規范的一部分,而是一個擴展,但Netscape和IE都支持它。 Server 伺服器名字。Servlet一般不設置這個值,而是由Web伺服器自己設置。 Set-Cookie 設置和頁面關聯的Cookie。Servlet不應使用response.setHeader("Set-Cookie", ...),而是應使用HttpServletResponse提供的專用方法addCookie。參見下文有關Cookie設置的討論。 WWW-Authenticate 客戶應該在Authorization頭中提供什麼類型的授權信息?在包含401(Unauthorized)狀態行的應答中這個頭是必需的。例如,response.setHeader("WWW-Authenticate", "BASIC realm="executives"")。注意Servlet一般不進行這方面的處理,而是讓Web伺服器的專門機制來控制受密碼保護頁面的訪問(例如.htaccess)。

閱讀全文

與如何查詢網路請求的完整鏈路相關的資料

熱點內容
筆記本開機網路和internet設置 瀏覽:917
網路歌手柔柔在哪個平台直播 瀏覽:124
公共網路延時特別高怎麼辦 瀏覽:542
日本蘋果4網路設置 瀏覽:725
天童美語網路上課軟體 瀏覽:255
網路合夥人如何找 瀏覽:170
帶無線路由器網路信號弱 瀏覽:385
如何用電話知道對方網路密碼 瀏覽:119
九江公安局網路安全支隊 瀏覽:995
無線網路連接密碼錯誤 瀏覽:429
隨身wifi沒有網路怎麼用 瀏覽:37
如何切換至廣電網路信號 瀏覽:315
網路收款助手在哪裡 瀏覽:301
移動網路設置接哪個位置 瀏覽:21
網路安全宣傳語錄簡短 瀏覽:311
網路上虛擬視頻用哪一個軟體 瀏覽:465
蘋果xsmax網路天線在哪裡 瀏覽:693
移動網路無法使用電信dns解析 瀏覽:664
4g網路如何解析信號 瀏覽:138
移動的網路台式電腦掉線 瀏覽:953

友情鏈接