<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的java天地

    Tcpdump 使用手冊

    Tcpdump

    SYNOPSIS(
    概要)
    tcpdump [ -ADeflnNqtvx ] [ -c count ]
    ? ?? ?? ?[ -i interface ] [ -r file ] [ -s snaplen ]
    ? ?? ?? ?[ -T type ] [ -w file ] [ expression ]
    選項 (OPTIONS)
    -A
    Print each packet (minus its link level header) in ASCII.? Handy for capturing web pages
    [
    應用] 在網關服務器中輸入:tcpdump –A src host 192.168.x.y
    [ 摘取 ]17:10:56.934040 IP 192.168.x.y.icp > by2msg1231711.mixer.edge.messenger.live.com.msnp: . ack 4165501895 win 64719
    E..(..@...qF.......+.X.G...v.H..P....]........
    [ 分析 ] ASCII格式打印除鏈路層的頭部信息的包,這個選項更有益與web頁面的抓取.上面是我對源192.168.x.y包的抓取,一看就知道,它現在連接到MSN
    -e
    每行都顯示鏈路層報頭.
    [ 應用 ] tcpdump -e src host 192.168.x.y
    [ 摘取 ]17:19:57.718466 00:14:22:d2:9e:d0 (oui Unknown) > 00:c0:9f:40:29:6a (oui Unknown), ethertype IPv4 (0x0800), length 60: 192.168.x.y.acp-conduit > 65.54.167.59.http: R 2561727994:2561727994(0) ack 425901151 win 0
    [ 分析 ] 這是針對鏈路層包分析,看看是不是你想要的呢?
    -c
    當收到count個 報文 后 退出.
    [ 應用 ] tcpdump -e -c 2 src host 192.168.x.y
    [ 摘取 ]
    listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
    13:54:15.963937 IP 192.168.x.y.ridgeway2 > 218.93.16.107.http: F 1728282061:1728282061(0) ack 2139349129 win 65004
    13:54:15.965416 IP 192.168.x.y.gwen-sonya > 218.93.16.107.http: S 3089588305:3089588305(0) win 65535 <mss 1460,nop,nop,sackOK>
    2 packets captured
    7 packets received by filter
    0 packets dropped by kernel
    [ 分析 ] 看到沒有,我只要抓取兩個匹配包,就OK了。?????
    -D?? Print? the? list? of? the network interfaces available on the system and on which tcpdump can
    ???? capture packets.? For each network interface, a number and an interface name,? possibly? followed? by? a text description of the interface, is printed.? The interface name or the number
    can be supplied to the -i flag to specify an interface on which to capture
    [
    應用 ] tcpdump -D
    [ 摘取 ]
    1.eth0
    2.eth1
    3.eth2
    4.any (Pseudo-device that captures on all interfaces)
    5.lo
    [ 分析 ] 打印可以被tcpdump抓取的接口名稱。可以提供給-i參數,EX:tcpdump –I eth1
    -i
    監聽interface接口. 如果不指定接口, tcpdump在系統的接口清單中, 尋找號碼最小, 已經配置好的接口(loopback 除外). 選中的時候會中斷連接.
    [ 應用 ] tcpdump –i eth0 ip src 192.168.x.y
    [ 摘取 ]
    14:01:15.700262 IP 218.83.12.11.32785 > ns-pd.online.sh.cn.domain:? 29083+ PTR? 20.152.83.218.in-addr.arpa. (44)
    [ 分析 ] 抓取eth0接口的數據包
    -f
    用數字形式顯示 '外部的' 互聯網地址, 而不是字符形式 (如:tcpdump -f -i eth0 -c 4 src host 192.168.x.y)
    [ 應用 ]tcpdump -i eth1 –f
    [ 摘取 ] 14:03:25.655826 IP 207.46.124.244.msnp > 218.83.12.11.kpop: P 259:847(588) ack 1 win 64158
    [ 分析 ] 與前一個應用對比,你能發現在摘取中的互聯網地址都會以IP顯示,而不在有域名啦。。。
    -l
    行緩沖標準輸出. 可用于捕捉數據的同時查看數據. 例如,
    [ 應用 ] tcpdump -i eth1 -f -l|tee tcpdump.log
    [ 摘取 ]
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
    14:11:57.582718
    14:11:58.058394 802.1d config 81b6.00:1e:14:9f:f7:00.801a root 8000.00:04:80:78:c0:dd pathcost 19 age 1 max 20 hello 2 fdelay 15
    [ 分析 ] 結合系統命令,使抓取分析數據更加靈活與強大,我愛這個功能
    -n
    不把地址轉換成名字 (如主機地址, 端口號等)
    [ 應用 ] tcpdump -i eth0 src host 192.168.x.y -n
    [ 摘取 ]14:17:30.686094 IP 192.168.x.y.10778 > 121.62.99.137.14808: UDP, length 1050
    [
    分析 ] 抓取的數據包不會將數字地址轉換成名字
    -N
    不顯示主機名字中的域名部分
    [ 應用 ] tcpdump -i eth0 src host 192.168.x.y -n
    [ 摘取 ]14:16:45.824513 IP 192.168.x.y.alias > by1msg3145607.msnp: . ack 1894015094 win 64827
    [ 分析 ] 抓取的數據包中不會將域名的部分顯示,看by1msg3145607.msnp,典型是省略了很長一段的域名部分(msn)
    -q
    快速輸出. 顯示較少的協議信息, 輸出行將短一點點.
    [ 應用 ] tcpdump -i eth0 src host 192.168.x.y -q
    [ 摘取 ]14:21:48.669851 IP 192.168.x.y.tgp > by1msg4082316.phx.gbl.msnp: tcp 0
    [
    分析 ] 打印較短的協議,用與快速分析。
    -w
    把原始報文存進file, 不分析也不顯示. 它們可以以后用 -r 選項顯示. 如果 file“-'', 就寫到標準輸出.(如:tcpdump -e src host 192.168.x.y -w /tmp/tcpdump.log)
    -r
    file中讀入數據報 (文件是用 -w 選項創建的). 如果 file“-'', 就讀標準輸入. (如:tcpdump -e src host 192.168.x.y -r /tmp/tcpdump.log)
    [ 分析 ] 以上-w,-r,的作用是相反的,一個是將抓取的包寫入到指定文件,一個是根據上次寫入的文件來讀取分析。沒有上次的-w操作,-r是無法使用的,除非用”-”,不過如果你用more,cat是無法讀通這個文件的,不像用”|”,借助tee 可以為以后方便
    -t
    禁止顯示時戳標志.
    [ 應用 ] tcpdump -i eth0 src host 192.168.x.y -t
    [ 摘要 ]
    IP 192.168.x.y.sonardata > 218.93.16.107.http: . ack 1225435221 win 65535
    IP 192.168.x.y.sonardata > 218.93.16.107.http: P 0:907(907) ack 1 win 65535
    IP 192.168.x.y.sonardata > 218.93.16.107.http: . ack 208 win 65328
    [ 分析 ] 看下面
    -tt
    顯示未格式化的時戳標志.
    [ 應用 ] tcpdump -i eth0 src host 192.168.x.y -tt
    [ 摘要 ]
    1247207645.823506 IP 192.168.x.y.isis > 61.172.205.8.msnp: . ack 53 win 64309
    1247207645.840496 IP 192.168.x.y.isis > 61.172.205.8.msnp: P 70:74(4) ack 123 win 64239
    1247207645.881594 IP 192.168.x.y.isis > 61.172.205.8.msnp: P 74:122(48) ack 123 win 64239
    [ 分析 ]-t -tt對比,一看就很清楚了,是時間顯示控制和時間格式控制
    -v
    (
    稍微多一點) 繁瑣的輸出. 例如, 顯示IP數據報中的生存周期和服務類型.
    -vv
    更繁瑣的輸出. 例如, 顯示NFS應答報文的附加域.
    -x
    以十六進制數形式顯示每一個報文 (去掉鏈路層報頭后) . 可以顯示較小的完整報文
    [ 分析 ]-v,-vv,-x 通過上面的敘述,我想大家試一下,一定就會很明白了,至與那個選項更適合大家,那就是看應用了,我想這些選項也夠大家用了吧!~反正夠我用了,呵呵!~

    expression (
    表達式)
    表達式是一個正則表達式,tcpdump利用它作為過濾報文的條件,如果一個報文滿足表達式的條件,則這個報文將會被捕獲。如果沒有給出任何條件,則網絡上所有的信息包將會被截獲。
    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}
    圖:Expression的構造
    expression 由一個或多個原語 (primitive) 組成. 原語通常由一個標識(id,名稱或數字)和 標識 前面的一個或多個修飾字(qualifier) 組成. 修飾字有三種不同的類型:
    (1)type
    類型修飾字指出標識名稱或標識數字代表什么類型的東西. 可以使用的類型有host, netport. 例如, `host foo', `net 128.3', `port 20'. 如果不指定類型修飾字, 就使用缺省的 host
    (2)Direction
    方向修飾字指出相對于標識的傳輸方向 (數據是傳入還是傳出標識). 可以使用的方向有 src, dst, src or dstsrc and dst. 例如, `src foo', `dst net 128.3', `src or dst port ftp-data'. 如果不指定方向修飾字, 就使用缺省的src or dst . 對于 `null' 鏈路層 (就是說 象 slip 之類的 點到點 協議),inboundoutbound修飾字指定所需的傳輸方向.
    (3)proto
    協議修飾字要求匹配指定的協議. 可以使用的協議有: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcpudp. 例如,ether src foo', `arp net 128.3', `tcp port 21'. 如果不指定協議修飾字, 就使用所有符合類型的協議. 例如, `src foo'`(ip or arp or rarp) src foo', `net bar'`(ip or arp or rarp) net bar', `port 53'`(tcp or udp) port 53'.
    [`fddi'
    實際上 是 `ether' 的 別名; 分析器把它們視為 ``用在指定網絡接口上的數據鏈路層.'' FDDI 報頭包含類似于以太協議的源目地址, 而且通常包含 類似于以太協議的報文類型, 因此你可以分析 FDDI, 就象分析以太協議一樣. FDDI報頭也包含其他域, 但是你不能在過濾器表達式里顯式描述.]

    作為上述的補充, 有一些特殊的 `原語' 關鍵字, 它們不同于上面的模式: gateway, broadcast, less, greater和數學表達式. 這些在后面有敘述.

    更復雜的過濾器表達式 可以通過 and, ornot 連接原語來組建. 例如, `host foo and not port ftp and not port ftp-data'. 為了少敲點鍵, 可以忽略 相同的修飾子. 例如, `tcp dst port ftp or ftp-data or domain' 實際上 就是 `tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain'.

    允許的 原語 有:
    dst host host
    如果報文中IP的目的地址域是 host, 則邏輯為真. host既可以是地址, 也可以是主機名.
    src host host
    如果報文中IP的源地址域 是 host, 則 邏輯為 真.
    host host
    如果報文中 IP 的 源地址域或者目的地址域是host, 則邏輯為真. 上面所有的 host 表達式 都可以加上 ip, arp,rarp 關鍵字做前綴, 就象:
    ip host host

    如果host是擁有多個IP地址的主機名, 它的每個地址都會被查驗.

    dst net net
    如果報文的IP目的地址屬于網絡號net, 則邏輯為真.
    src net net
    如果 報文的 IP 源地址 屬于 網絡號 net, 則邏輯為真.
    net net
    如果報文的IP源地址或目的地址屬于網絡號 net, 則邏輯為真.
    net net mask netmask (
    net 192.168.1.0 mask 255.255.255.128)
    如果IP地址匹配指定網絡掩碼(netmask)net, 則 邏輯為真. 本原語可以用srcdst 修飾.
    net net/len
    如果IP地址匹配指定網絡掩碼的net, 則邏輯為真, 掩碼的有效位寬為len. 本原語可以用srcdst修飾.
    dst port port
    如果報文是ip/tcpip/udp, 并且目的端口是port, 則邏輯為真. port是一個數字, 也可以是 /etc/services 中 說明過的名字(參看tcp(4P)udp(4P)). 如果使用名字, 則檢查端口號和協議. 如果使用數字, 或者有二義的名字, 則只檢查端口號 (例如, dst port 513 將顯示 tcp/login 的數據 和 udp/who 的數據,port domain 將顯示 tcp/domainudp/domain 的數據).
    src port port
    如果 報文 的 源端口號 是 port, 則 邏輯 為 真.
    port port
    如果報文的源端口或目的端口是port, 則邏輯為真. 上述的任意一個端口表達式都可以用關鍵字tcpudp做前綴,就象:
    tcp src port port
    它只匹配源端口是portTCP 報文.

    less length
    如果 報文 的 長度 小于等于 length, 則 邏輯 為 真. 它等同于:
    len <= length.

    greater length
    如果報文的長度大于等于 length, 則邏輯為真. 它等同于:
    len >= length.

    原語可以用下述方法結合使用:
    圓括弧括起來的原語和操作符(園括弧在Shell中有特定含義, 所以必須轉義).
    取反操作 (`!' or `not').
    連結操作 (`&&' or `and').
    或操作 (`||' or `or').
    取反操作有最高優先級. 或操作和連結操作有相同的優先級, 運算時從左到右結合. 注意連結操作需要顯式的and算符, 而不是并列放置.

    如果給出標識符, 但沒給修飾符, 那么暗指最近使用的修飾符. 例如,
    not host vs and ace
    作為 not host vs and host ace的簡寫形式, 不應該和 not ( host vs or ace )混淆.
    ?
    tcpdump 的輸出結果介紹 (OUTPUT FORMAT)
    下面我們介紹幾種典型的 tcpdump 命令的輸出信息
    (1) 數據鏈路層頭信息
    使用命令 #tcpdump -e host ice
    ice 是一臺裝有 linux 的主機 她的 MAC 地址是 00 902758AF1A
    H219 是一臺裝有 SOLARIC SUN 工作站 它的 MAC 地址是 08 0020795B46 上一條
    命令的輸出結果如下所示:
    21:50:12.847509 eth0 > 08:00:20:79:5b:46 00:90:27:58:af:1a ip 60: h219.33357 > ice.
    telnet 0:0(0) ack 22535 win 8760 (DF)
    分析 215012 是顯示的時間 847509 ID eth0 >表示從網絡接口設備發送數據包( eth0 < 表示從網絡接口 eth0 接受該數據包 ), 08:00:20:79:5b:46是主機H219的MAC地址,
    它表明是從源地址H219發來的數據包. 00:90:27:58:af:1a是主機ICE的MAC地址,表示該數據包的目的地址是ICE . ip 是表明該數據包是IP數據包,60 是數據包的長度, h219.33357 > ice.
    telnet 表明該數據包是從主機H219的33357端口發往主機ICE的TELNET(23)端口. ack 22535表明對序列號是222535的包進行響應. win 8760表明發送窗口的大小是8760.
    (2) ARP包的TCPDUMP輸出信息
    使用命令#tcpdump arp
    得到的輸出結果是:
    22:32:42.802509 eth0 > arp who-has h10 tell ice (0:90:27:58:af:1a)
    22:32:42.802902 eth0 < arp reply h10 is-at 0:90:27:12:10:66 (0:90:27:58:af:1a)
      分析: 22:32:42是時間戳, 802509是ID號, eth0 >表明從主機發出該數據包, arp表明是
    ARP請求包, who-has h10 tell ice表明是主機ICE請求主機h10的MAC地址。 0:90:27:5
    8:af:1a是主機ICE的MAC地址。
    (3) TCP包的輸出信息
    用TCPDUMP捕獲的TCP包的一般輸出信息是:
    src > dst: flags data-seqno ack window urgent options
    分析:
    src > dst: 表明從源地址到目的地址 , flags TCP 包中的標志信息 , 如:S SYN 標志 , F (F
    IN), P (PUSH) , R (RST) "." (沒有標記); data-seqno是數據包中的數據的順序號, ack是
    下次期望的順序號, window是接收緩存的窗口大小, urgent表明數據包中是否有緊急指針.
    Options是選項.
    (4) UDP包的輸出信息
    用TCPDUMP捕獲的UDP包的一般輸出信息是:
    H10.port1 > ice.port2: udp lenth
    UDP十分簡單,上面的輸出行表明從主機h10的port1端口發出的一個UDP數據包到主機
    ICE的port2端口,類型是UDP, 包的長度是lenth
    example:
    如果想要獲取主機61.151.247.124接收或發出的telnet包,使用如下命令
    tcpdump tcp port 23 and host 61.151.247.124
    tcpdump -n tcp port 23 and src host 218.83.152.2
    tcpdump -n -w /etc/tcpdump.log tcp port 23 and src host 218.83.152.2
    tcpdump -r /etc/tcpdump.log
    tcpdump -i eth0 -w tcpdump.log
    tcpdump -r tcpdump.log

    顯示 所有 進出 sundown 的 報文:
    tcpdump host sundown

    顯示helioshot|ace之間的報文傳送:
    tcpdump host helios and \( hot or ace \)

    顯示ace和除了helios 以外的所有主機的IP報文:
    tcpdump ip host ace and not helios?

    本文出自 “壞男孩” 博客,請務必保留此出處http://5ydycm.blog.51cto.com/115934/176151

    posted on 2011-03-02 10:09 tobyxiong 閱讀(945) 評論(0)  編輯  收藏 所屬分類: linix

    <2011年3月>
    272812345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導航

    統計

    常用鏈接

    留言簿(3)

    隨筆分類(144)

    隨筆檔案(157)

    相冊

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 暖暖在线日本免费中文| 亚洲线精品一区二区三区影音先锋| 亚洲熟妇AV乱码在线观看| 四虎永久免费影院在线| 久久青草免费91线频观看不卡| 亚洲国产日韩女人aaaaaa毛片在线| 日韩免费电影在线观看| 最新国产乱人伦偷精品免费网站 | 无码AV片在线观看免费| 亚洲综合av一区二区三区| 亚洲中文字幕无码专区| 国产精品成人免费福利| 免费一级全黄少妇性色生活片 | 无码一区二区三区AV免费| 中文字幕在线免费播放| 亚洲中字慕日产2020| 亚洲无码日韩精品第一页| 国拍在线精品视频免费观看| 一本到卡二卡三卡免费高| 亚洲精品午夜视频| 亚洲国产aⅴ综合网| 一本岛高清v不卡免费一三区| eeuss影院ss奇兵免费com| 在线综合亚洲中文精品| 亚洲AV无码精品无码麻豆| 免费人成无码大片在线观看| 91短视频免费在线观看| 成人免费无码H在线观看不卡| 亚洲色中文字幕在线播放| 中文字幕亚洲精品| 亚洲一区二区三区偷拍女厕| 女人18毛片特级一级免费视频| 三年片在线观看免费观看大全动漫| 国产成人亚洲精品蜜芽影院| 亚洲国产理论片在线播放| 亚洲成AV人片一区二区| 亚洲精品无码成人片在线观看| 成人免费网站在线观看| 最好看最新的中文字幕免费| 中国在线观看免费的www| 日韩免费在线中文字幕|