久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      CentOS下如何使用tcpdump網(wǎng)絡(luò)抓包

      下面由centos教程欄目給大家介紹CentOS下使用tcpdump網(wǎng)絡(luò)抓包的方法,希望對需要的朋友有所幫助!

      CentOS下如何使用tcpdump網(wǎng)絡(luò)抓包

      tcpdump是Linux下的截獲分析網(wǎng)絡(luò)數(shù)據(jù)包的工具,對優(yōu)化系統(tǒng)性能有很大參考價值。

      安裝

      tcpdump不是默認(rèn)安裝的,在CentOS下安裝:

      yum install tcpdump

      在Ubuntu下安裝:

      apt-get install tcpdump
      默認(rèn)啟動
      tcpdump

      普通情況下,直接啟動tcpdump將監(jiān)視第一個網(wǎng)絡(luò)接口上所有流過的數(shù)據(jù)包。

      監(jiān)視指定網(wǎng)絡(luò)接口的數(shù)據(jù)包(一定要查看網(wǎng)卡)

      tcpdump -i eth1

      如果不指定網(wǎng)卡,默認(rèn)tcpdump只會監(jiān)視第一個網(wǎng)絡(luò)接口,一般是eth0,下面的例子都沒有指定網(wǎng)絡(luò)接口。 

      監(jiān)視指定主機(jī)的數(shù)據(jù)包

      打印所有進(jìn)入或離開sundown的數(shù)據(jù)包.

      tcpdump host sundown

      也可以指定ip,例如截獲所有210.27.48.1 的主機(jī)收到的和發(fā)出的所有的數(shù)據(jù)包

      tcpdump host 210.27.48.1

      打印helios 與 hot 或者與 ace 之間通信的數(shù)據(jù)包

      tcpdump host helios and ( hot or ace )

      截獲主機(jī)210.27.48.1 和主機(jī)210.27.48.2 或210.27.48.3的通信

      tcpdump host 210.27.48.1 and  (210.27.48.2 or 210.27.48.3 )

      打印ace與任何其他主機(jī)之間通信的IP 數(shù)據(jù)包, 但不包括與helios之間的數(shù)據(jù)包.

      tcpdump ip host ace and not helios

      如果想要獲取主機(jī)210.27.48.1除了和主機(jī)210.27.48.2之外所有主機(jī)通信的ip包,使用命令:

      tcpdump ip host 210.27.48.1 and ! 210.27.48.2

      截獲主機(jī)hostname發(fā)送的所有數(shù)據(jù)

      tcpdump -i eth0 src host hostname

      監(jiān)視所有送到主機(jī)hostname的數(shù)據(jù)包

      tcpdump -i eth0 dst host hostname
      監(jiān)視指定主機(jī)和端口的數(shù)據(jù)包

      如果想要獲取主機(jī)210.27.48.1接收或發(fā)出的telnet包,使用如下命令

      tcpdump tcp port 23 and host 210.27.48.1

      對本機(jī)的udp 123 端口進(jìn)行監(jiān)視 123 為ntp的服務(wù)端口

      tcpdump udp port 123
      監(jiān)視指定網(wǎng)絡(luò)的數(shù)據(jù)包

      打印本地主機(jī)與Berkeley網(wǎng)絡(luò)上的主機(jī)之間的所有通信數(shù)據(jù)包(nt: ucb-ether, 此處可理解為'Berkeley網(wǎng)絡(luò)'的網(wǎng)絡(luò)地址,此表達(dá)式最原始的含義可表達(dá)為: 打印網(wǎng)絡(luò)地址為ucb-ether的所有數(shù)據(jù)包)

      tcpdump net ucb-ether

      打印所有通過網(wǎng)關(guān)snup的ftp數(shù)據(jù)包(注意, 表達(dá)式被單引號括起來了, 這可以防止shell對其中的括號進(jìn)行錯誤解析)

      tcpdump 'gateway snup and (port ftp or ftp-data)'

      打印所有源地址或目標(biāo)地址是本地主機(jī)的IP數(shù)據(jù)包

      (如果本地網(wǎng)絡(luò)通過網(wǎng)關(guān)連到了另一網(wǎng)絡(luò), 則另一網(wǎng)絡(luò)并不能算作本地網(wǎng)絡(luò).(nt: 此句翻譯曲折,需補(bǔ)充).localnet 實(shí)際使用時要真正替換成本地網(wǎng)絡(luò)的名字)

      tcpdump ip and not net localnet
      監(jiān)視指定協(xié)議的數(shù)據(jù)包

      打印TCP會話中的的開始和結(jié)束數(shù)據(jù)包, 并且數(shù)據(jù)包的源或目的不是本地網(wǎng)絡(luò)上的主機(jī).(nt: localnet, 實(shí)際使用時要真正替換成本地網(wǎng)絡(luò)的名字))

      tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'

      打印所有源或目的端口是80, 網(wǎng)絡(luò)層協(xié)議為IPv4, 并且含有數(shù)據(jù),而不是SYN,FIN以及ACK-only等不含數(shù)據(jù)的數(shù)據(jù)包.(ipv6的版本的表達(dá)式可做練習(xí))

      tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

      (nt: 可理解為, ip[2:2]表示整個ip數(shù)據(jù)包的長度, (ip[0]&0xf)<<2)表示ip數(shù)據(jù)包包頭的長度(ip[0]&0xf代表包中的IHL域, 而此域的單位為32bit, 要換算

      成字節(jié)數(shù)需要乘以4, 即左移2. (tcp[12]&0xf0)>>4 表示tcp頭的長度, 此域的單位也是32bit, 換算成比特數(shù)為 ((tcp[12]&0xf0) >> 4) << 2, 
      即 ((tcp[12]&0xf0)>>2). ((ip[2:2] – ((ip[0]&0xf)<<2)) – ((tcp[12]&0xf0)>>2)) != 0 表示: 整個ip數(shù)據(jù)包的長度減去ip頭的長度,再減去
      tcp頭的長度不為0, 這就意味著, ip數(shù)據(jù)包中確實(shí)是有數(shù)據(jù).對于ipv6版本只需考慮ipv6頭中的'Payload Length' 與 'tcp頭的長度'的差值, 并且其中表達(dá)方式'ip[]'需換成'ip6[]'.)

      打印長度超過576字節(jié), 并且網(wǎng)關(guān)地址是snup的IP數(shù)據(jù)包

      tcpdump 'gateway snup and ip[2:2] > 576'

      打印所有IP層廣播或多播的數(shù)據(jù)包, 但不是物理以太網(wǎng)層的廣播或多播數(shù)據(jù)報

      tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

      打印除'echo request'或者'echo reply'類型以外的ICMP數(shù)據(jù)包( 比如,需要打印所有非ping 程序產(chǎn)生的數(shù)據(jù)包時可用到此表達(dá)式 .
      (nt: 'echo reuqest' 與 'echo reply' 這兩種類型的ICMP數(shù)據(jù)包通常由ping程序產(chǎn)生))

      tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'
      tcpdump 與wireshark

      Wireshark(以前是ethereal)是Windows下非常簡單易用的抓包工具。但在Linux下很難找到一個好用的圖形化抓包工具。
      還好有Tcpdump。我們可以用Tcpdump + Wireshark 的完美組合實(shí)現(xiàn):在 Linux 里抓包,然后在Windows 里分析包。

      tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap (1)tcp: ip icmp arp rarp 和 tcp、udp、icmp這些選項(xiàng)等都要放到第一個參數(shù)的位置,用來過濾數(shù)據(jù)報的類型 (2)-i eth1 : 只抓經(jīng)過接口eth1的包 (3)-t : 不顯示時間戳 (4)-s 0 : 抓取數(shù)據(jù)包時默認(rèn)抓取長度為68字節(jié)。加上-S 0 后可以抓到完整的數(shù)據(jù)包 (5)-c 100 : 只抓取100個數(shù)據(jù)包 (6)dst port ! 22 : 不抓取目標(biāo)端口是22的數(shù)據(jù)包 (7)src net 192.168.1.0/24 : 數(shù)據(jù)包的源網(wǎng)絡(luò)地址為192.168.1.0/24 (8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

      使用tcpdump抓取HTTP包

      tcpdump  -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745 為"GET"前兩個字母"GE",0x4854 為"HTTP"前兩個字母"HT"。

      tcpdump 對截獲的數(shù)據(jù)并沒有進(jìn)行徹底解碼,數(shù)據(jù)包內(nèi)的大部分內(nèi)容是使用十六進(jìn)制的形式直接打印輸出的。顯然這不利于分析網(wǎng)絡(luò)故障,通常的解決辦法是先使用帶-w參數(shù)的tcpdump 截獲數(shù)據(jù)并保存到文件中,然后再使用其他程序(如Wireshark)進(jìn)行解碼分析。當(dāng)然也應(yīng)該定義過濾規(guī)則,以避免捕獲的數(shù)據(jù)包填滿整個硬盤。

      1、抓取回環(huán)網(wǎng)口的包:tcpdump -i lo

      2、防止包截斷:tcpdump -s0

      3、以數(shù)字顯示主機(jī)及端口:tcpdump -n

      第一種是關(guān)于類型的關(guān)鍵字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一臺主機(jī),net 202.0.0.0 指明 202.0.0.0是一個網(wǎng)絡(luò)地址,port 23 指明端口號是23。如果沒有指定類型,缺省的類型是host.

      第二種是確定傳輸方向的關(guān)鍵字,主要包括src , dst ,dst or src, dst and src ,這些關(guān)鍵字指明了傳輸?shù)姆较颉Ee例說明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的網(wǎng)絡(luò)地址是202.0.0.0 。如果沒有指明方向關(guān)鍵字,則缺省是src or dst關(guān)鍵字。

      第三種是協(xié)議的關(guān)鍵字,主要包括fddi,ip,arp,rarp,tcp,udp等類型。Fddi指明是在FDDI(分布式光纖數(shù)據(jù)接口網(wǎng)絡(luò))上的特定 的網(wǎng)絡(luò)協(xié)議,實(shí)際上它是"ether"的別名,fddi和ether具有類似的源地址和目的地址,所以可以將fddi協(xié)議包當(dāng)作ether的包進(jìn)行處理和 分析。其他的幾個關(guān)鍵字就是指明了監(jiān)聽的包的協(xié)議內(nèi)容。如果沒有指定任何協(xié)議,則tcpdump將會監(jiān)聽所有協(xié)議的信息包。

      除了這三種類型的關(guān)鍵字之外,其他重要的關(guān)鍵字如下:gateway, broadcast,less,greater,還有三種邏輯運(yùn)算,取非運(yùn)算是 'not ' '! ', 與運(yùn)算是'and','&&;或運(yùn)算 是'or' ,'||';這些關(guān)鍵字可以組合起來構(gòu)成強(qiáng)大的組合條件來滿足人們的需要,下面舉幾個例子來說明。

      普通情況下,直接啟動tcpdump將監(jiān)視第一個網(wǎng)絡(luò)界面上所有流過的數(shù)據(jù)包。

      # tcpdump  tcpdump: listening on fxp0 11:58:47.873028 202.102.245.40.netbios-ns > 202.102.245.127.netbios-ns: udp 50 11:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/C len=43                        0000 0000 0080 0000 1007 cf08 0900 0000                        0e80 0000 902b 4695 0980 8701 0014 0002                        000f 0000 902b 4695 0008 00 11:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97                        ffff 0060 0004 ffff ffff ffff ffff ffff                        0452 ffff ffff 0000 e85b 6d85 4008 0002                        0640 4d41 5354 4552 5f57 4542 0000 0000                        0000 00

      使用-i參數(shù)指定tcpdump監(jiān)聽的網(wǎng)絡(luò)界面,這在計算機(jī)具有多個網(wǎng)絡(luò)界面時非常有用,
      使用-c參數(shù)指定要監(jiān)聽的數(shù)據(jù)包數(shù)量,
      使用-w參數(shù)指定將監(jiān)聽到的數(shù)據(jù)包寫入文件中保存
      A想要截獲所有210.27.48.1 的主機(jī)收到的和發(fā)出的所有的數(shù)據(jù)包:

      #tcpdump host 210.27.48.1

      B想要截獲主機(jī)210.27.48.1 和主機(jī)210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中適用 括號時,一定要

      #tcpdump host 210.27.48.1 and / (210.27.48.2 or 210.27.48.3 /)

      C如果想要獲取主機(jī)210.27.48.1除了和主機(jī)210.27.48.2之外所有主機(jī)通信的ip包,使用命令:

      #tcpdump ip host 210.27.48.1 and ! 210.27.48.2

      D如果想要獲取主機(jī)210.27.48.1接收或發(fā)出的telnet包,使用如下命令:

      #tcpdump tcp port 23 host 210.27.48.1

      E 對本機(jī)的udp 123 端口進(jìn)行監(jiān)視 123 為ntp的服務(wù)端口

      # tcpdump udp port 123

      F 系統(tǒng)將只對名為hostname的主機(jī)的通信數(shù)據(jù)包進(jìn)行監(jiān)視。主機(jī)名可以是本地主機(jī),也可以是網(wǎng)絡(luò)上的任何一臺計算機(jī)。下面的命令可以讀取主機(jī)hostname發(fā)送的所有數(shù)據(jù):

      #tcpdump -i eth0 src host hostname

      G 下面的命令可以監(jiān)視所有送到主機(jī)hostname的數(shù)據(jù)包:

      #tcpdump -i eth0 dst host hostname

      H 我們還可以監(jiān)視通過指定網(wǎng)關(guān)的數(shù)據(jù)包:

      #tcpdump -i eth0 gateway Gatewayname

      I 如果你還想監(jiān)視編址到指定端口的TCP或UDP數(shù)據(jù)包,那么執(zhí)行以下命令:

      #tcpdump -i eth0 host hostname and port 80

      J 如果想要獲取主機(jī)210.27.48.1除了和主機(jī)210.27.48.2之外所有主機(jī)通信的ip包
      ,使用命令:

      #tcpdump ip host 210.27.48.1 and ! 210.27.48.2

      K 想要截獲主機(jī)210.27.48.1 和主機(jī)210.27.48.2 或210.27.48.3的通信,使用命令
      :(在命令行中適用 括號時,一定要

      #tcpdump host 210.27.48.1 and / (210.27.48.2 or 210.27.48.3 /)

      L 如果想要獲取主機(jī)210.27.48.1除了和主機(jī)210.27.48.2之外所有主機(jī)通信的ip包,使用命令:

      #tcpdump ip host 210.27.48.1 and ! 210.27.48.2

      M 如果想要獲取主機(jī)210.27.48.1接收或發(fā)出的telnet包,使用如下命令:

      #tcpdump tcp port 23 host 210.27.48.1

      第三種是協(xié)議的關(guān)鍵字,主要包括fddi,ip ,arp,rarp,tcp,udp等類型
      除了這三種類型的關(guān)鍵字之外,其他重要的關(guān)鍵字如下:gateway, broadcast,less,
      greater,還有三種邏輯運(yùn)算,取非運(yùn)算是 'not ' '! ', 與運(yùn)算是'and','&&';或運(yùn)算 是'o
      r' ,'||';
      第二種是確定傳輸方向的關(guān)鍵字,主要包括src , dst ,dst or src, dst and src ,
      如果我們只需要列出送到80端口的數(shù)據(jù)包,用dst port;如果我們只希望看到返回80端口的數(shù)據(jù)包,用src port。

      #tcpdump –i eth0 host hostname and dst port 80  目的端口是80

      或者

      #tcpdump –i eth0 host hostname and src port 80  源端口是80  一般是提供http的服務(wù)的主機(jī)

      如果條件很多的話 要在條件之前加and 或 or 或 not

      #tcpdump -i eth0 host ! 211.161.223.70 and ! 211.161.223.71 and dst port 80

      如果在ethernet 使用混雜模式 系統(tǒng)的日志將會記錄
      May 7 20:03:46 localhost kernel: eth0: Promiscuous mode enabled.
      May 7 20:03:46 localhost kernel: device eth0 entered promiscuous mode
      May 7 20:03:57 localhost kernel: device eth0 left promiscuous mode
      tcpdump對截獲的數(shù)據(jù)并沒有進(jìn)行徹底解碼,數(shù)據(jù)包內(nèi)的大部分內(nèi)容是使用十六進(jìn)制的形式直接打印輸出的。顯然這不利于分析網(wǎng)絡(luò)故障,通常的解決辦法是先使用帶-w參數(shù)的tcpdump 截獲數(shù)據(jù)并保存到文件中,然后再使用其他程序進(jìn)行解碼分析。當(dāng)然也應(yīng)該定義過濾規(guī)則,以避免捕獲的數(shù)據(jù)包填滿整個硬盤。

      # tcpdump   -i eth1 src  host 211.167.237.199 00:02:03.096713 IP 211.167.237.199.ssh > 221.216.165.189.1467: P 2010208:2010352(144) ack 33377 win 8576 00:02:03.096951 IP 211.167.237.199.ssh > 221.216.165.189.1467: P 2010352:2010496(144) ack 33377 win 8576 00:02:03.100928 IP 211.167.237.199.ssh > 221.216.165.189.1467: P 2010496:2010640(144) ack 33377 win 8576 00:02:03.101165 IP 211.167.237.199.ssh > 221.216.165.189.1467: P 2010640:2010784(144) ack 33377 win 8576 00:02:03.102554 IP 211.167.237.199.ssh > 221.216.165.189.1467: P 2010784:2010928(144) ack 33425 win 8576

      表明在00:02:03點(diǎn)的時候,211.167.237.199通過ssh源端口連接到221.216.165.189的1467端口

      #tcpdump -i eth1 src host 211.167.237.199 and dst port 1467 00:09:27.603075 IP 211.167.237.199.ssh > 221.216.165.189.1467: P 180400:180544(144) ack 2833 win 8576 00:09:27.605631 IP 211.167.237.199.ssh > 221.216.165.189.1467: P 180544:180688(144) ack 2881 win 8576

      截獲所有由eth0進(jìn)入、源地址(src)為192.168.0.5的主機(jī)(host),并且(and)目標(biāo)(dst)端口(port)為80的數(shù)據(jù)包

      觀看網(wǎng)卡傳送、接收數(shù)據(jù)包的狀態(tài)

      $ netstat  -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500  0  14639   0      0      0    5705    119    0     0   BMRU  Iface:  網(wǎng)卡 RX-OK RX-ERR RX-DRP RX-OVR : 網(wǎng)卡正確接收數(shù)據(jù)包的數(shù)量以及發(fā)生錯誤、流失、碰撞的總數(shù) TX-OK TX-ERR TX-DRP TX-OVR : 網(wǎng)卡正確發(fā)送數(shù)據(jù)包的數(shù)量以及發(fā)生錯誤、流失、碰撞的總數(shù)

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號