91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

抓包分析工具—tcpdump

發布時間:2020-08-04 02:40:05 來源:網絡 閱讀:2564 作者:往事_Jim_遺 欄目:系統運維

   tcpdump(dump the traffic on a network)是一款在Unix下一款比較實用的一款用于分析數據包的工具,它支持針對網絡層、協議、主機、網絡或端口的過濾,并提供and、or、not等邏輯語句、布爾表達式對報文的報頭匹配,在linux系統下如果未安裝可以通過yum來安裝,不過要注意的是在使用需要相應的權限:

對于SunOS 的nit或bpf界面: 要運行tcpdump , 必須有/dev/nit或/dev/bpf* 的讀訪問權限;
對于Solaris的dlpi: 必須有網絡仿真設備 (network pseudo device), 如 /dev/le的讀訪問權限;
對于HP-UX的dlpi、IRIX的snoop、Linux: 必須是root, 或者把它安裝成 root 的設置uid 程序;
對于 Ultrix和Digital UNIX: 一旦超級用戶使用promiscuous 操作模式 (promiscuous-mode), 任何用戶 都可以 運行 tcpdump;
對于BSD: 必須有/dev/bpf*的讀訪問權限。

而tcpdump的常用選項參數如下:

       -A     數據包內容以ASCII顯示,通常用來抓取網頁的數據包數據.
       -a     試著 把 網絡和廣播地址轉換成名稱.
       -c     監聽數據包數,如果沒有帶這個參數tcpdump會不斷的監聽,當收到count報文后退出.
       -d     把編譯過的數據包編碼轉換成可閱讀的格式,并傾倒到標準輸出.
       -dd    把編譯過的數據包編碼轉換成C語言的格式,并傾倒到標準輸出.
       -ddd   把編譯過的數據包編碼轉換成十進制數字的格式,并傾倒到標準輸出.
       -e     顯示數據鏈路層的數據包.
       -f     用數字顯示網際網絡地址.
       -F     指定內含表達方式的文件.
       -i     監聽的網絡接口.
       -l     使用標準輸出列的緩沖區.
       -n     不把主機的網絡地址轉換成ip
       -N     不列出域名.
       -O     不將數據包編碼最佳化,這個選項只有當你懷疑優化器有bug時才有用.
       -p     不讓網絡界面進入混雜模式.
       -q     快速輸出,僅列出少數的傳輸協議信息.
       -r     從指定的文件讀取數據包數據.
       -s     設置每個數據包的大小.
       -T     強制將表達方式所指定的數據包轉譯成設置的數據包類型.目前已知的類型有: rpc (遠程過程調用 Remote Procedure Call), rtp
              (實時應用協議 Real-Time Applications protocol), rtcp (實時應用控制協議 Real-Time Applications control  protocol),  vat  (可視音頻工具
              Visual Audio Tool), 和 wb (分布式白板 distributed White Board).
       -S     用絕對而非相對數值列出TCP關聯數.
       -t     禁止顯示時戳標志.
       -tt    顯示未格式化的時戳標志.
       -v     詳細顯示指令執行過程. 例如, 顯示IP數據報中的生存周期和服務類型.
       -vv    更詳細顯示指令執行過程. 例如,顯示NFS應答報文的附加域.
       -w     把數據包數據寫入指定的文件.
       -x     以 16進制數形式顯示每一個報文(去掉鏈路層報頭后).可以顯示較小的完整報文,否則只顯示snaplen個字節.
       expression表達式:
              用來選擇要轉儲的數據報.如果沒有指定expression , 就轉儲網絡的全部報文.否則, 只轉儲相對expression為邏輯為真的數據包報文.
 
              expression 由一個或多個原語(primitive)組成.原語通常由一個標識(id,名稱或數字),和標識前面的一個或多個修飾子(qualifier)組成.修飾子有三種不同的類型:
 
              type   類型修飾子指出標識名稱或標識數字代表什么類型的東西.可以使用的類型有host,net和port.例如,`host foo', `net128.3', `port 20'.如果不指定類型修飾子, 就使用缺省的host . 
              dir    方向修飾子 指出 相對于 標識 的 傳輸方向 (數據是 傳入還是傳出 標識).  可以使用的 方向 有 src, dst, src or dst 和 src  and  dst.
                     例如, `src foo', `dst net 128.3', `src or dst port ftp-data'.  如果 不指定 方向修飾子, 就使用 缺省的 src or dst .  對于 `null'
                     鏈路層 (就是說 象 slip 之類的 點到點 協議), 用 inbound 和 outbound 修飾子 指定 所需的 傳輸方向. 
              proto  協議修飾子 要求 匹配 指定的協議. 可以使用的 協議 有: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp  和  udp.
                     例如, `ether src foo', `arp net 128.3', `tcp port 21'.  如果 不指定 協議修飾子, 就使用 所有 符合 類型 的 協議. 例如, `src foo'
                     指 `(ip 或 arp 或 rarp) src foo' (注意后者不符合語法), `net bar' 指 `(ip 或 arp 或 rarp) net bar',  `port 53' 指 `(tcp 或 udp)
                     port 53'. 
              更復雜的過濾器表達式可以通過 and, or 和 not 連接原語來組建. 例如, `host  foo  and  not  port  ftp  and  not  port  ftp-data'.
              允許的 原語 有:
              dst host host
                     如果報文中IP的目的地址域是host, 則邏輯為真.host既可以是地址,也可以是主機名.
 
              src host host
                     如果報文中IP的源地址域是host,則邏輯為真.
 
              host host
                     如果報文中IP的源地址域或者目的地址域是host,則邏輯為真.上面所有的host表達式都可以加上ip,arp,或rarp關鍵字做前綴,就象:ip host host
                     它等價于:
                          ether proto \ip and host host
                     如果host是擁有多個IP地址的主機名,它的每個地址都會被查驗.
 
              ether dst ehost
                     如果報文的以太目的地址是ehost,則邏輯為真. Ehost既可以是名字 (/etc/ethers 里有), 也可以是數字
 
              ether src ehost
                     如果報文的以太源地址是ehost,則邏輯為真.
 
              ether host ehost
                     如果報文的以太源地址或以太目的地址是ehost,則邏輯為真.
 
              gateway host
                     如果報文把host當做網關, 則邏輯為真.
                     
              dst net net
                     如果報文的IP目的地址屬于網絡號net,則邏輯為真. 
 
              src net net
                     如果報文的IP源地址屬于網絡號net,則邏輯為真.
 
              net net
                     如果報文的IP源地址或目的地址屬于網絡號net, 則邏輯為真.
 
              net net mask mask
                     如果IP地址匹配指定網絡掩碼(netmask)的net,則邏輯為真.本原語可以用src或dst修飾.
 
              net net/len
                     如果IP地址匹配指定網絡掩碼的net, 則邏輯為真.
 
              dst port port
                     如果報文是ip/tcp或ip/udp, 并且目的端口是port, 則邏輯為真.
 
              src port port
                     如果報文的源端口號是port,則邏輯為真.
 
              port port
                     如果報文的源端口或目的端口是port,則邏輯為真.
 
              less length
                     如果報文的長度小于等于length,則邏輯為真. 它等同于:len <= length.
 
              greater length
                     如果報文的長度大于等于length,則邏輯為真. 它等同于:len >= length.
 
              ip proto protocol
                     如果報文是IP數據報, 其內容的協議類型是protocol,則邏輯為真.
 
              ether broadcast
                     如果報文是以太廣播報文,則邏輯為真.關鍵字ether是可選的.
 
              ip broadcast
                     如果報文是IP廣播報文,則邏輯為真.Tcpdump檢查全0和全1廣播約定,并且檢查本地的子網掩碼.
 
              ether multicast
                     如果報文是以太多目傳送報文(multicast),則邏輯為真. 關鍵字ether是可選的.
 
              ip multicast
                     如果報文是IP多目傳送報文,則邏輯為真.

總之tcpdump的使用還是可以滿足日常的數據包分析使用的,如下以下一些例子:

監聽來自eth0網卡且通信協議為ssh(缺省22端口)來源于192.168.2.100的數據包數據

[root@localhost ~]# tcpdump -i eth0 -nn 'port 22 and src host 192.168.2.100'

截獲主機192.168.1.100和主機192.168.2.100或192.168.0.100的通信

[root@localhost ~]# tcpdump host 192.168.1.100 and \(192.168.1.100 or 192.168.0.100\)

截取本機的udp協議的ntp(缺省123端口)

[root@localhost ~]# tcpdump udp port 123

總之,在日常可以使用tcpdump來對各種數據包進行分析,在這里就不做過多的說明,需要更多tcpdump的使用可以看相關的man幫助手冊,當然是用tcpdump對七層上數據沒有做比較徹底的解碼,所以平時也可把抓取的數據包寫入文件后使用wireshark來進行進一步的分析

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

佛坪县| 时尚| 靖州| 江阴市| 秦安县| 瓮安县| 涟源市| 金坛市| 舒兰市| 明水县| 黄浦区| 页游| 老河口市| 依兰县| 吴旗县| 唐海县| 巫山县| 吐鲁番市| 光泽县| 剑阁县| 高雄县| 涟水县| 三门峡市| 绥德县| 松潘县| 治多县| 潼关县| 青海省| 尚志市| 太谷县| 泽普县| 巧家县| 五河县| 宣武区| 通江县| 邹平县| 军事| 芦山县| 南京市| 阜康市| 大安市|