最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux tcpdump命令的用法詳細解析

 更新時間:2013年08月23日 09:00:09   作者:  
以下是對Linux中tcpdump命令的用法進行了詳細的介紹,需要的朋友可以過來參考下

英文原意是dump traffic on a network ,即截獲網(wǎng)絡(luò)上的數(shù)據(jù)報,可以根據(jù)指定的網(wǎng)絡(luò)接口來截獲不同的數(shù)據(jù)報。它會輸出在某個網(wǎng)絡(luò)接口上符合匹配表達式的報內(nèi)容的描述。當tcpdump完成抓包后,會打印出類似下面的內(nèi)容: 

9 packets captured
56 packets received by filter
17 packets dropped by kernel

當然,在讀取網(wǎng)絡(luò)上的數(shù)據(jù)包時,得需要特權(quán),比如linux上的超級用戶

tcpdump用法

tcpdump -A 用ascii打印出每個包信息,這個對于截獲網(wǎng)頁很方便
tcpdump -D 打印出當前系統(tǒng)的可用的網(wǎng)絡(luò)接口??梢杂?i選項來指定特定的接口


tcpdump -F 使用文件作為輸入的過濾表達式

tcpdump -i 在指定的接口上進行監(jiān)聽。如果未指定,tcpdump會從interface list 中尋找最低數(shù)字作為監(jiān)聽的接口

tcpdump -l  使標準輸出成為緩沖區(qū),如果你想在截獲數(shù)據(jù)包的同時也查看數(shù)據(jù),則可以使用下面命令
tcpdump -l > dat & tail -f dat
tcpdump -S 打印出TCP絕對的序列號
tcpdump -w 將截獲的數(shù)據(jù)包寫到一個文件中
如果沒有表達式,則網(wǎng)絡(luò)上所有的包都會被截獲

例子TCP Packets

下面就是TCP 報文的格式

src > dst : flags data-segno ack window  urgent options(MSS, 時間戳,窗口規(guī)模選項)
1. 要截獲特定標志位的TCP 包:在TCP header中,有8位是控制位

CWR | ECE | URG | ACK | PSH | RST | SYN | FIN

有TCP 頭的結(jié)構(gòu)中

       0                            15                                     31
       -------------------------------------------------------------------------
       |          source port          |       destination port      |
       -------------------------------------------------------------------------
       |                        sequence number                       |
       -------------------------------------------------------------------------
       |                     acknowledgment number                |

       --------------------------------------------------------------------------
       |  HL   | rsvd  |C|E|U|A|P|R|S|F|        window size   |
       --------------------------------------------------------------------------
       |         TCP checksum          |       urgent pointer    |
       --------------------------------------------------------------------------

8為控制位是TCP頭中的第13個 8-bits組

                       |                        |
                       |------------------------|
                       |C|E|U|A|P|R|S|F|
                       |------------------------|
                       |7     5    3        0|

當SYN位為1時

則該8-bits組的二進制表示為:00000010  -> 2
所以只截獲TCP中標志位為SYN=1的表達式為
tcpdump -i 2 tcp[13]==2  
tcp[13]==2  就是讓TCP數(shù)據(jù)報中的第13個8bits組的值為2


2. 如果TCP報文中帶有SYN-ACK,我們認為他是帶SYN的報文,那么該咋截獲呢

                       |                        |
                       |------------------------|
                       |C|E|U|A|P|R|S|F|
                       |------------------------|
                       |7     5    3        0|

此時該8bits組的二進制表示為 00010010 ->18

此時應(yīng)該不是 tcp[13] == 18,這樣只能截獲ACK-SYN報文,而不能再截獲SYN報文啦,這時我們應(yīng)該要維持SYN所在位的值,可以用上邏輯與運算,即如下

‘tcp[13] & 2 == 2' ,就可以啦

注意:下面截圖的TCP報文的第二條的標志位 [S.]



UDP Packets

UDP 報文的格式為

  actibude.who > broadcast.who : udp 84

who 為端口號,artinide,broadcast都是主機的網(wǎng)絡(luò)地址, 84為UDP數(shù)據(jù)報的大小

UDP name Server Requests

請求報文的格式為

src > dst : id op? flags qtype qclass name(len)

h2opolo.1538 > helios.domain : 3+ A? ucbvax.berkeley.edu (37)

主機hopolo詢問主機helios上的domain服務(wù)的地址記錄(qtype=A),該機路與ucbvax.berkeley,edu相關(guān)聯(lián)

查詢id為3,‘+'表明 recursion-desired flag 被設(shè)置,query的長度為37字節(jié),沒有包括UDP與IP的頭長度

UDP Name Server Responses
src > dst : id op rcode flags a/n/au type class data(len)
 helios.domain > h2opolo.1538 : 3 3/3/7 A 128.32.137.3 (273)

該報文是helios響應(yīng)來自h2opolo的query id 為3,且?guī)в?個answer record,3 個name server records 和 7 個additional records

第一個 answer record 是type A ,它數(shù)據(jù)的大小為273字節(jié),包括UDP和IP報文頭

相關(guān)文章

最新評論

兴山县| 晋州市| 银川市| 中西区| 兴义市| 桐城市| 芮城县| 宜宾市| 西畴县| 濮阳市| 金塔县| 辉南县| 桂东县| 岳普湖县| 湟中县| 灵宝市| 呼图壁县| 齐齐哈尔市| 永济市| 金门县| 眉山市| 同仁县| 临汾市| 闽侯县| 墨玉县| 玛纳斯县| 阜平县| 河津市| 壶关县| 铜山县| 诏安县| 三门县| 丰县| 石屏县| 囊谦县| 武穴市| 成都市| 黔东| 拉萨市| 从化市| 巴南区|