亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        網(wǎng)絡(luò)抓包工具tcpdump使用指南

        2020-11-13 05:10:06北京趙琳
        網(wǎng)絡(luò)安全和信息化 2020年11期
        關(guān)鍵詞:網(wǎng)段過濾器命令

        ■ 北京 趙琳

        編者按:tcpdump 是一款強大的網(wǎng)絡(luò)抓包工具,它使用libpcap 庫來抓取網(wǎng)絡(luò)數(shù)據(jù)包,這個庫在幾乎在所有的Linux/Unix 中都有。熟悉tcpdump 的使用能夠幫助你分析調(diào)試網(wǎng)絡(luò)數(shù)據(jù)。本文將通過一些具體的示例來介紹它在不同場景下的使用方法。

        tcpdump的常用參數(shù):$ tcpdump -i eth0 -nn -s0-v port 80

        -i:選擇要捕獲的接口,通常是以太網(wǎng)卡或無線網(wǎng)卡,也可以是VLAN 或其他特殊接口。如果只有一個網(wǎng)絡(luò)接口,則無需指定。

        -nn:單個n 表示不解析域名,直接顯示IP 地址;兩個n 表示不解析域名和端口。這樣不僅方便查看IP 地址和端口號,而且在抓取大量數(shù)據(jù)時非常高效,因為域名解析會降低抓取速度。

        -s0:tcpdump 默認(rèn)只會截取前96 字節(jié)的內(nèi)容,要想截取所有的報文內(nèi)容,通過使用-s number(number 是要截取的報文字節(jié)數(shù)),如果是0 的話,表示截取報文全部內(nèi)容。

        -v:使用-v、-vv 和-vvv來顯示更多的詳細(xì)信息,通常會顯示更多與特定協(xié)議相關(guān)的信息。

        port 80:表示僅抓取80 端口上的流量,通常是HTTP。

        -p:不讓網(wǎng)絡(luò)接口進(jìn)入混雜模式。默認(rèn)情況下使用tcpdump 抓包時,會讓網(wǎng)絡(luò)接口進(jìn)入混雜模式。如果設(shè)備接入的交換機開啟了混雜模式,使用-p 選項可以有效地過濾噪聲。

        -e:顯示數(shù)據(jù)鏈路層信息。默認(rèn)情況下tcpdump 不會顯示數(shù)據(jù)鏈路層信息,使用-e 選項可以顯示源和目的mac 地址,以及 VLAN tag信息。

        -w:用來把數(shù)據(jù)報文輸出到文件。使用tcpdump 截取數(shù)據(jù)報文的時候,默認(rèn)會打印到屏幕的默認(rèn)輸出,你會看到按照順序和格式,很多的數(shù)據(jù)一行行快速閃過,根本來不及看清楚所有的內(nèi)容。

        -A 表示使用ASCII 字符串打印報文的全部數(shù)據(jù),這樣可以使讀取更加簡單,方便使用grep 等工具解析輸出內(nèi)容。-X 表示同時使用十六進(jìn)制和ASCII 字符串打印報文的全部數(shù)據(jù)。這兩個參數(shù)不能一起使用。例如:$tcpdump -A -s0 port 80

        首先,抓取特定協(xié)議的數(shù)據(jù)。后面可以跟上協(xié)議名稱來過濾特定協(xié)議的流量。以UDP 為例,可以加上參數(shù)udp或protocol 17,這兩個命令意思相同。

        同理,tcp 與 protocol 6 意思相同。

        其次,行緩沖模式。如果想實時將抓取到的數(shù)據(jù)通過管道傳遞給其他工具來處理,需要使用-l 選項來開啟行緩沖模式(或使用-c 選項來開啟數(shù)據(jù)包緩沖模式)。使用-l 選項可以將輸出通過立即發(fā)送給其他命令,其他命令會立即響應(yīng)。

        過濾器

        把所有的數(shù)據(jù)截取下來,從里面找到想要的信息無疑是一件很費時費力的工作。而tcpdump 提供了靈活的語法可以精確地截取關(guān)心的數(shù)據(jù)報,簡化分析的工作量。這些選擇數(shù)據(jù)包的語句就是過濾器(filter)。

        1.Host 過濾器

        使用過濾器host 可以抓取特定目的地和源IP 地址的流量。例如:$ tcpdump-I eth0 host 10.10.1.1

        該命令會抓取所有發(fā)往主機 10.10.1.1 或者從主機10.10.1.1 發(fā)出的流量。

        也可以使用src 或dst只抓取源或目的地。例如:$ tcpdump -i eth0 dst 10.10.1.1

        該命令會只抓取發(fā)往主機 10.10.1.1 的流量。

        2.Network 過濾器

        Network 過濾器用來過濾某個網(wǎng)段的數(shù)據(jù),使用的是CIDR 模式。可以使用四元組(x.x.x.x)、三元組(x.x.x)、二元組(x.x)和一元組(x)。四元組就是指定某個主機,三元組表示子網(wǎng)掩碼為255.255.255.0,二元組表示子網(wǎng)掩碼為255.255.0.0,一元組表示子網(wǎng)掩碼為255.0.0.0。例如:$tcpdump net 192.168.1

        該命令會抓取所有發(fā)往網(wǎng)段192.168.1.x 或從網(wǎng)段192.168.1.x 發(fā)出的流量。

        例如:$ tcpdump net 10

        該命令會抓取所有發(fā)往網(wǎng)段10.x.x.x 或從網(wǎng)段10.x.x.x 發(fā)出的流量。

        也可以使用src 或dst只抓取源或目的地。

        3.Proto 過濾器

        用來過濾某個協(xié)議的數(shù)據(jù),關(guān)鍵字為proto,可省略。proto 后面可以跟上協(xié)議號或協(xié)議名稱,支持ICMP、IGMP、IGRP、PIM、AH、ESP、CARP、VRRP、UDP 和TCP。

        因為,通常的協(xié)議名稱是保留字段,所以在與proto指令一起使用時,必須根據(jù)shell 類型使用一個或兩個反斜杠(/)來轉(zhuǎn)義。Linux中的shell 需要使用兩個反斜杠來轉(zhuǎn)義,MacOS 只需要一個。

        該命令會抓取ICMP 協(xié)議的報文。

        4.Port 過濾器

        用來過濾通過某個端口的數(shù)據(jù)報文,關(guān)鍵字為port。例如:$ tcpdump port 38 9 該命令會抓取389 端口的報文。

        5.組合過濾器

        過濾的真正強大之處在于你可以隨意組合它們,而連接它們的邏輯就是常用的與/AND/&&、或/OR/|| 和非/not/!。

        理解 tcpdump 的輸出

        截取數(shù)據(jù)只是第一步,第二步就是理解這些數(shù)據(jù)。下面就解釋一下tcpdump 命令輸出各部分的意義。

        實例:

        最基本也是最重要的信息就是數(shù)據(jù)報的源地址/端口和目的地址/端口。上面的例子第一條數(shù)據(jù)報中,源地址IP 是192.168.1.106,源端口是56166,目的地址是124.192.132.54,目的端口是80?!?”符號代表數(shù)據(jù)的方向。

        此外,上面的三條數(shù)據(jù)是TCP 協(xié)議的三次握手過程,第一條是SYN 報文,通過Flags [S] 可以看出。第二條是SYN 報文的應(yīng)答報文(SYN-ACK),通過Flags [S.]可以看出。

        工作實例

        1.提取HTTP 用戶代理

        從HTTP 請求頭中提取HTTP 用戶代理:

        通過egrep 可以同時提取用戶代理和主機名(或其他頭文件):

        2.只抓取HTTP GET 和POST 流量

        抓取HTTP GET 流量:

        注意:該方法不能保證抓取到HTTP POST 有效數(shù)據(jù)流量,因為一個POST 請求會被分割為多個TCP 數(shù)據(jù)包。

        上述兩個表達(dá)式中的十六進(jìn)制將會與GET 和POST請求的ASCII 字符串匹配。例如,tcp[((tcp[12:1] & 0 xf0) >> 2):4] 首先會確定我們感興趣的字節(jié)的位置(在 TCP header 之后),然后選擇我們希望匹配的4 個字節(jié)。

        3.提取HTTP 請求的URL

        提取HTTP 請求的主機名和路徑:

        4.提取Cookies

        提取 Set-Cookie(服務(wù)端的Cookie)和 Cookie(客戶端的Cookie):

        5.抓取 ICMP 數(shù)據(jù)包

        查看網(wǎng)絡(luò)上的所有ICMP數(shù)據(jù)包:

        6.抓取非ECHO/REPLY 類型的ICMP 數(shù)據(jù)包

        通過排除echo 和reply類型的數(shù)據(jù)包使抓取到的數(shù)據(jù)包不包括標(biāo)準(zhǔn)的ping包:

        7.抓取SMTP/POP3 協(xié)議的郵件

        可以提取電子郵件的正文和其他數(shù)據(jù)。例如,只提取電子郵件的收件人:

        8.抓取NTP 服務(wù)的查詢和響應(yīng)

        9.抓取SNMP 服務(wù)的查詢和響應(yīng)

        通過SNMP 服務(wù),網(wǎng)絡(luò)運維人員可以獲取大量的設(shè)備和系統(tǒng)信息。在這些信息中,系統(tǒng)信息最為關(guān)鍵,如操作系統(tǒng)版本、內(nèi)核版本等。使用SNMP 協(xié)議快速掃描程序onesixtyone,可以看到目標(biāo)系統(tǒng)的信息:

        可以通過tcpdump 抓取GetRequest 和 GetResponse:

        10.切割pcap 文件

        當(dāng)抓取大量數(shù)據(jù)并寫入文件時,可以自動切割為多個大小相同的文件。例如,下面的命令表示每3 600 s創(chuàng)建一個新文件 capture-(hour).pcap,每個文件大小不超過 200*1 000 000 字節(jié):

        這些文件的命名為capture-{1-24}.pcap,24 小時之后,之前的文件就會被覆蓋。

        11.抓取IPv6 流量

        可以通過過濾器 ip6 來抓取IPv6 流量,同時可以指定協(xié)議如TCP:

        從之前保存的文件中讀取IPv6 UDP 數(shù)據(jù)報文:

        12.檢測端口掃描

        在下面的例子中,你會發(fā)現(xiàn)抓取到的報文的源和目的一直不變,且?guī)в袠?biāo)志位[S]和[R],它們與一系列看似隨機的目標(biāo)端口進(jìn)行匹配。當(dāng)發(fā)送SYN 之后,如果目標(biāo)主機的端口沒有打開,就會返回一個RESET。這是Nmap 等端口掃描工具的標(biāo)準(zhǔn)做法。

        13.過濾Nmap NSE 腳本測試結(jié)果

        本例中Nmap NSE 測試腳本http-enum.nse 用來檢測HTTP 服務(wù)的合法URL。

        在執(zhí)行腳本測試的主機上:t=http-enum.nse targe tip

        在目標(biāo)主機上:

        14.抓取DNS 請求和響應(yīng)

        向Google 公共DNS發(fā)起的出站DNS 請求和A 記錄響應(yīng)可以通過tcpdump 抓取到:

        15.抓取HTTP 有效數(shù)據(jù)包

        抓取80 端口的HTTP 有效數(shù)據(jù)包,排除TCP 連接建立過程的數(shù)據(jù)包(SYN/FIN/ACK):

        16.找出發(fā)包最多的IP

        找出一段時間內(nèi)發(fā)包最多的IP,或者從一堆報文中找出發(fā)包最多的IP,可以使用下面的命令:

        圖1 抓取到的數(shù)據(jù)

        17.抓取DHCP 報文

        抓取DHCP 服務(wù)的請求和響應(yīng)報文,67 為DHCP 端口,68 為客戶機端口。

        18.將輸出內(nèi)容重定向到Wireshark

        通常Wireshark(或tsh ark)比tcpdump 更容易分析應(yīng)用層協(xié)議。一般的做法是在遠(yuǎn)程服務(wù)器上先使用tcpdump 抓取數(shù)據(jù)并寫入文件,然后將文件拷貝到本地工作站上用Wireshark分析。

        還有一種更高效的方法,可以通過SSH 連接將抓取到的數(shù)據(jù)實時發(fā)送給Wireshark 進(jìn)行分析。以MacOS 系統(tǒng)為例,可以通過brew cask install wireshark 來安裝,然后通過下面的命令來分析:

        例如,如果想分析 DNS協(xié)議,可以使用下面的命令:

        抓取到的數(shù)據(jù),如圖1所示。

        -c 選項用來限制抓取數(shù)據(jù)的大小。如果不限制大小,就只能通過ctrl-c來停止抓取,這樣一來不僅關(guān)閉了tcpdump,也關(guān)閉了wireshark。

        猜你喜歡
        網(wǎng)段過濾器命令
        只聽主人的命令
        單位遭遇蠕蟲類病毒攻擊
        支持過濾器的REST模型研究與實現(xiàn)
        電子測試(2018年9期)2018-06-26 06:45:56
        聲音過濾器
        趣味(語文)(2018年2期)2018-05-26 09:17:55
        移防命令下達(dá)后
        這是人民的命令
        Onvif雙網(wǎng)段開發(fā)在視頻監(jiān)控系統(tǒng)中的應(yīng)用
        基于LOGO!的空氣過濾器自潔控制系統(tǒng)
        自動化博覽(2014年6期)2014-02-28 22:32:20
        HVM膜過濾器管板改造總結(jié)
        中國氯堿(2014年11期)2014-02-28 01:05:07
        藍(lán)色命令
        精品国产成人一区二区不卡在线| 色综合久久久久综合体桃花网 | 日韩av中文字幕少妇精品| 丰满人妻一区二区三区52| 国产女主播福利在线观看| 久草手机视频在线观看| 亚洲精品一品区二品区三区| 久久久久久人妻无码| 日本高清视频永久网站www| 朝鲜女人大白屁股ass| 国产尤物AV尤物在线看| 日韩精品国产自在欧美| 极品av在线播放| 国产喷白浆精品一区二区豆腐 | 青青草视频在线你懂的| 有坂深雪中文字幕亚洲中文| 亚洲av不卡无码国产| 亚洲乱亚洲乱妇| 国产精品久久久久久52avav| аⅴ天堂国产最新版在线中文| 久久精品综合国产二区| 亚洲人妻精品一区二区三区| 久久av粉嫩一区二区| 人妻熟女一区二区三区app下载 | 国产精品一区二区三级| av成人综合在线资源站| 亚洲一区av在线观看| 免费无码一区二区三区蜜桃大| 无码人妻AⅤ一区 二区 三区| 国产精品国产三级国产三不| 中文字幕在线乱码av| 日韩国产人妻一区二区三区| 成人午夜福利视频镇东影视| 日韩av高清无码| 91性视频| 精品一区2区3区4区| 最新中文字幕一区二区| 亚洲无线码一区二区三区| 就去吻亚洲精品欧美日韩在线| 国产日韩欧美视频成人| 综合中文字幕亚洲一区二区三区|