源服務(wù)器訪問目標服務(wù)器時出現(xiàn)異常如何抓包獲取最原始的交互數(shù)據(jù)

本篇文章給大家?guī)淼膬?nèi)容是關(guān)于源服務(wù)器訪問目標服務(wù)器時出現(xiàn)異常如何抓包獲取最原始的交互數(shù)據(jù),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

網(wǎng)絡(luò)異常時抓包操作說明

如果源服務(wù)器訪問目標服務(wù)器時出現(xiàn)異常,您可以抓包獲取最原始的交互數(shù)據(jù),然后反饋至阿里云進行排查分析。本文介紹了常用的抓包工具,并簡要說明了抓包步驟。

說明:建議您首先參閱文檔 能 ping 通但端口不通時端口可用性探測說明 排查問題,并參閱 丟包或不通時鏈路測試說明 進行分析。

常用抓包工具介紹

下面分別介紹 linuxwindows 環(huán)境下常用的抓包工具:

Linux 環(huán)境下的抓包工具

Windows 環(huán)境下的抓包工具

Linux 環(huán)境下的抓包工具

Linux 環(huán)境下,通常使用 tcpdump 進行抓包和分析。它是幾乎所有 Linux 發(fā)行版本預裝的數(shù)據(jù)包抓取和分析工具。有關(guān) tcpdump 工具的獲取和安裝方法,請參閱 tcpdump 官方文檔。

tcpdump 用法示例

tcpdump?[?-AbdDefhHIJKlLnNOpqStuUvxX#?]?[?-B?buffer_size?]? ?????????[?-c?count?]? ?????????[?-C?file_size?]?[?-G?rotate_seconds?]?[?-F?file?]? ?????????[?-i?interface?]?[?-j?tstamp_type?]?[?-m?module?]?[?-M?secret?]? ?????????[?--number?]?[?-Q?in|out|inout?]? ?????????[?-r?file?]?[?-V?file?]?[?-s?snaplen?]?[?-T?type?]?[?-w?file?]? ?????????[?-W?filecount?]? ?????????[?-E?spi@ipaddr?algo:secret,...?]? ?????????[?-y?datalinktype?]?[?-z?postrotate-command?]?[?-Z?user?]? ?????????[?--time-stamp-precision=tstamp_precision?]? ?????????[?--immediate-mode?]?[?--version?]? ?????????[?expression?]

常見參數(shù)說明(區(qū)分大小寫)

-s 用于設(shè)置數(shù)據(jù)包抓取長度。如果 -s 為 0,則表示自動選擇合適的長度來抓取數(shù)據(jù)包。

-w 用于將抓包結(jié)果導出到文件,而不是在控制臺進行分析和打印輸出。

-i 用于指定需要監(jiān)聽的接口(網(wǎng)卡)。

-vvv 用于輸出詳細的交互數(shù)據(jù)。

expression 是一個正則表達式,用于過濾報文。主要包含如下幾類:

指定類型的關(guān)鍵字:包括 host(主機)、net(網(wǎng)絡(luò))和 port(端口)。

指定傳輸方向的關(guān)鍵字:包括 src(源)、dst(目標)、dst or src(源或目標)和 dst and src(源和目標)。

指定協(xié)議的關(guān)鍵字:包括 icmp、ip、arp、rarp、tcp、udp 等協(xié)議類型。

更多參數(shù)說明及用法,請參閱 tcpdump 的 Manpage。

常見用法和示例輸出

抓取指定網(wǎng)卡指定端口的交互數(shù)據(jù)。

操作指令:

tcpdump?-s?0?-i?eth0?port?22

示例輸出:

tcpdump:?verbose?output?suppressed,?use?-v?or?-vv?for?full?protocol?decode listening?on?eth0,?link-type?EN10MB?(Ethernet),?capture?size?65535?bytes 20:24:59.414951?IP?172.16.2.226.ssh?>?42.120.74.107.43414:?Flags?[P.],?seq?442372:442536,?ack?53,?win?141,?length?164 20:24:59.415002?IP?172.16.2.226.ssh?>?42.120.74.107.43414:?Flags?[P.],?seq?442536:442700,?ack?53,?win?141,?length?164 20:24:59.415052?IP?172.16.2.226.ssh?>?42.120.74.107.43414:?Flags?[P.],?seq?442700:442864,?ack?53,?win?141,?length?164 20:24:59.415103?IP?172.16.2.226.ssh?>?42.120.74.107.43414:?Flags?[P.],?seq?442864:443028,?ack?53,?win?141,?length?164 

抓取指定網(wǎng)卡發(fā)送給指定 IP 上指定端口的交互數(shù)據(jù),并在控制臺輸出詳細交互信息。

操作指令:

tcpdump?-s?0?-i?eth1?-vvv?port?22

示例輸出:

tcpdump:?listening?on?eth1,?link-type?EN10MB?(Ethernet),?capture?size?65535?bytes 20:24:20.991006?IP?(tos?0x10,?ttl?64,?id?22747,?offset?0,?flags?[DF],?proto?TCP?(6),?length?316) 172.16.2.226.ssh?>?42.120.74.107.43414:?Flags?[P.],?cksum?0x2504?(incorrect?->?0x270d),? seq?133624:133900,?ack?1,?win?141,?length?276 20:24:20.991033?IP?(tos?0x0,?ttl?53,?id?2348,?offset?0,?flags?[DF],?proto?TCP?(6),?length?92) 42.120.74.107.43414?>?172.16.2.226.ssh:?Flags?[P.],?cksum?0x4759?(correct),?seq?1:53,?ack?129036,? win?15472,?length?52 20:24:20.991130?IP?(tos?0x10,?ttl?64,?id?22748,?offset?0,?flags?[DF],?proto?TCP?(6),?length?540) 172.16.2.226.ssh?>?42.120.74.107.43414:?Flags?[P.],?cksum?0x25e4?(incorrect?->?0x5e78),? seq?133900:134400,?ack?53,?win?141,?length?500 20:24:20.991162?IP?(tos?0x0,?ttl?53,?id?2349,?offset?0,?flags?[DF],?proto?TCP?(6),?length?40) 42.120.74.107.43414?>?172.16.2.226.ssh:?Flags?[.],?cksum?0xf39e?(correct),?seq?53,?ack?129812,? win?15278,?length?0

抓取發(fā)送至指定 IP 的 ping 交互數(shù)據(jù),并在控制臺輸出詳細交互數(shù)據(jù)。

操作指令:

tcpdump?-s?0?-i?eth1?-vvv?dst?223.5.5.5?and?icmp

示例輸出:

tcpdump:?listening?on?eth1,?link-type?EN10MB?(Ethernet),?capture?size?65535?bytes 20:26:00.368958?IP?(tos?0x0,?ttl?64,?id?0,?offset?0,?flags?[DF],?proto?ICMP?(1),?length?84) 172.16.2.226?>?public1.alidns.com:?ICMP?echo?request,?id?55097,?seq?341,?length?64 20:26:01.369996?IP?(tos?0x0,?ttl?64,?id?0,?offset?0,?flags?[DF],?proto?ICMP?(1),?length?84) 172.16.2.226?>?public1.alidns.com:?ICMP?echo?request,?id?55097,?seq?342,?length?64 20:26:02.371058?IP?(tos?0x0,?ttl?64,?id?0,?offset?0,?flags?[DF],?proto?ICMP?(1),?length?84) 172.16.2.226?>?public1.alidns.com:?ICMP?echo?request,?id?55097,?seq?343,?length?64 20:26:03.372181?IP?(tos?0x0,?ttl?64,?id?0,?offset?0,?flags?[DF],?proto?ICMP?(1),?length?84) 172.16.2.226?>?public1.alidns.com:?ICMP?echo?request,?id?55097,?seq?344,?length?64

抓取系統(tǒng)內(nèi)所有接口數(shù)據(jù)并保存到指定文件。

操作指令:

tcpdump?-i?any?-s?0?-w?test.cap

示例輸出:

tcpdump:?listening?on?any,?link-type?LINUX_SLL?(Linux?cooked),?capture?size?65535?bytes

Windows 環(huán)境下的抓包工具

Windows 環(huán)境下,通常使用免費的開源工具 wireshark 進行抓包和分析。它是 Windows 環(huán)境下最流行的數(shù)據(jù)包抓取和分析工具,請訪問 Wireshark 官方網(wǎng)站 獲取并安裝 Wireshark 工具。

Wireshark 抓包步驟

安裝并打開 Wireshark。

選擇 捕獲 > 選項。

在 WireShark 捕獲接口 界面中,根據(jù)接口名稱或?qū)?yīng)的 IP 地址選擇需要進行抓包的網(wǎng)卡,然后單擊 開始。

源服務(wù)器訪問目標服務(wù)器時出現(xiàn)異常如何抓包獲取最原始的交互數(shù)據(jù)

抓取足量數(shù)據(jù)包后,選擇 捕獲 > 停止。

選擇 文件 > 保存,將抓包結(jié)果保存到指定文件。

有關(guān) Wireshark 工具的使用和數(shù)據(jù)分析方法,請參閱 Wireshark 官方文檔。

抓包并提交工單流程

出現(xiàn)異常時,您可以抓取數(shù)據(jù)包并發(fā)送給阿里云售后技術(shù)支持。抓包時,請確保從源服務(wù)器和目標服務(wù)器同時并發(fā)操作,以便售后技術(shù)支持進行對比分析。操作步驟如下:

明確源服務(wù)器和目標服務(wù)器個通過哪個網(wǎng)卡進行數(shù)據(jù)交互。

如果源服務(wù)器通過 NAT 共享方式訪問公網(wǎng),則訪問 http://ip.taobao.com 等網(wǎng)站,獲取本地網(wǎng)絡(luò)對應(yīng)的公網(wǎng) IP。

利用前文所述工具,從源服務(wù)器對目標服務(wù)器地址的目標端口進行抓包,或者進行完整抓包,然后保存抓包數(shù)據(jù)。

利用前文所述工具,從目標服務(wù)器對源服務(wù)器地址進行抓包,或者進行完整抓包,然后保存抓包數(shù)據(jù)。

創(chuàng)建工單并附上抓包數(shù)據(jù)文件,提交工單后,阿里云售后技術(shù)支持會排查問題并通過工單向您反饋結(jié)果。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊7 分享