成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

網(wǎng)絡(luò)/命令行抓包工具Tcpdump詳解

開發(fā) 開發(fā)工具
用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據(jù)使用者的定義對網(wǎng)絡(luò)上的數(shù)據(jù)包進(jìn)行截獲的包分析工具。

[[373681]]

 概述

用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據(jù)使用者的定義對網(wǎng)絡(luò)上的數(shù)據(jù)包進(jìn)行截獲的包分析工具。

tcpdump可以將網(wǎng)絡(luò)中傳送的數(shù)據(jù)包的“頭”完全截獲下來提供分析。它支持針對網(wǎng)絡(luò)層、協(xié)議、主機(jī)、網(wǎng)絡(luò)或端口的過濾,并提供and、or、not等邏輯語句來幫助你去掉無用的信息。

tcpdump基于底層libpcap庫開發(fā),運(yùn)行需要root權(quán)限。

一、tcpdump安裝

1.環(huán)境 虛擬機(jī):vmware 15.5.2 os: ubuntu 12.04

2.安裝tcpdump

  1. sudo apt-get install tcpdump 

 

3. 版本查看

  1. tcpdump --h 

 tcpdump version 4.0。

libpcap version 1.1.1 表示libpcap的版本。

二、tcpdump參數(shù)常用參數(shù)

選項(xiàng)說明:

三、命令選項(xiàng)使用舉例

1. 截獲主機(jī)收到和發(fā)出的所有數(shù)據(jù)包。

命令:

  1. tcpdump 

說明:

tcpdump截取包默認(rèn)顯示數(shù)據(jù)包的頭部。

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

基礎(chǔ)格式:時(shí)間 數(shù)據(jù)包類型 源IP 端口/協(xié)議 > 目標(biāo)IP 端口/協(xié)議 協(xié)議詳細(xì)信息


按下Ctrl+C會(huì)終止tcpdump命令。且會(huì)在結(jié)尾處生成統(tǒng)計(jì)信息。


終止tcpdump

2. 指定抓包數(shù)量 -c

指定抓取2個(gè)數(shù)據(jù)包。

命令:

  1. tcpdump -c 2 

說明:

最后會(huì)自動(dòng)生成統(tǒng)計(jì)信息。


【注意,已經(jīng)切換到管理員了,虛擬機(jī)中要產(chǎn)生數(shù)據(jù)包,可以另外開一個(gè)窗口ping baidu.com后面不再提示】

 

ping baidu.com

3. 將抓包信息寫入文件 -w

使用-w選項(xiàng)指定記錄文件。

命令:

  1. tcpdump -c 10 -w tcpdump_test.log 

說明:

保存的文件不是文本格式,不能直接查看。tcpdump保存的文件的格式是幾乎所有主流的抓包工具軟件都可以讀取。所以可以使用更易讀的圖形界面工具來查看記錄文件。

4. 讀取記錄文件 -r

使用-r選項(xiàng)讀取文件。

命令:

  1. tcpdump -r tcpdump_test.log 

![讀取記錄文件


5. 打印出所有可工作的接口 -D

命令:

  1. tcpdump -D 

 其中網(wǎng)卡為eth0。

6. 指定監(jiān)控的網(wǎng)卡 -i

命令:

  1. tcpdump -i eth0 

如果不指定網(wǎng)卡,默認(rèn)tcpdump只會(huì)監(jiān)視第一個(gè)網(wǎng)絡(luò)接口,一般是eth0。

7. 顯示更詳細(xì)的數(shù)據(jù)包信息 -v -vv

選項(xiàng)-v,-vv可以顯示更詳細(xì)的抓包信息。


tcpdump -v


tcpdump -vv

8. 不使用域名反解 -n

使用-n后,tcpdump會(huì)直接顯示IP地址,不會(huì)顯示域名(與netstat命令相似)。

9. 增加抓包時(shí)間戳 -tttt選項(xiàng)

tcpdump的所有輸出打印行中都會(huì)默認(rèn)包含時(shí)間戳信息;時(shí)間戳信息的顯示格式如下

  1. hh:mm:ss.frac (nt: 小時(shí):分鐘:秒.) 

此時(shí)間戳的精度與內(nèi)核時(shí)間精度一致, 反映的是內(nèi)核第一次看到對應(yīng)數(shù)據(jù)包的時(shí)間;

而數(shù)據(jù)包從物理線路傳遞到內(nèi)核的時(shí)間, 以及內(nèi)核花費(fèi)在此包上的中斷處理時(shí)間都沒有算進(jìn)來;

使用-tttt選項(xiàng),抓包結(jié)果中將包含抓包日期:

命令:

  1. tcpdump -tttt 

 

增加抓包時(shí)間戳

四、條件過濾

1. 過濾:指定需要抓取的協(xié)議

tcpdump可以只抓某種協(xié)議的包,支持指定以下協(xié)議:「ip,ip6,arp,tcp,udp,wlan」等。

命令:

  1. tcpdump udp 
  2.  
  3. tcpdump icmp 
  4.  
  5. tcpdump tcp 
  6.  
  7. tcpdump arp 

2. 過濾:指定協(xié)議的端口號(hào)

使用port參數(shù),用于指定端口號(hào)。

命令:tcpdump tcp port 80

使用portrange參數(shù),用于指定端口范圍。

命令:tcpdump tcp portrange 1-1024

3. 過濾:指定源與目標(biāo)

src 表示源。

dst 表示目標(biāo)。

命令:

tcpdump src port 8080

tcpdump dst port 80

4. 過濾:指定特定主機(jī)的消息包

使用host指定需要監(jiān)聽的主機(jī)。

命令:

  1. tcpdump host 192.168.1.113 

注意:若使用了host參數(shù)使用了計(jì)算機(jī)名或域名。例tcpdump host shi-pc ,則無法再使用-n選項(xiàng)。

5. 過濾:指定數(shù)據(jù)包大小

使用greater(大于)與less(小于)可以指定數(shù)據(jù)包大小的范圍。

「例:只抓取大于1000字節(jié)的數(shù)據(jù)包。」

命令:

  1. tcpdump greater 1000 

「例:只抓取小于10字節(jié)的數(shù)據(jù)包。」

命令:

  1. tcpdump less 10 

五、 邏輯表達(dá)式

使用基本邏輯組合拼裝出更精細(xì)的過濾條件。

1. 邏輯與

邏輯與關(guān)系,使用and。

命令:

  1. tcpdump tcp and host 192.168.1.112 
  2.  
  3. tcpdump tcp and src 192.168.1.112 and port 8080 

2. 邏輯或

邏輯或關(guān)系,使用or。

命令:

  1. tcpdump host 192.168.1.112 or 192.168.1.113 

3. 邏輯非

邏輯非關(guān)系,使用not,也可以使用 ! 。

若使用 ! 必須與其后面的字符隔開一個(gè)空格。

例:當(dāng)通過ssh協(xié)議遠(yuǎn)程使用tcpdump時(shí),為了避免ssh的數(shù)據(jù)包的輸出,所以一般需要禁止ssh數(shù)據(jù)包的輸出。

命令:

  1. tcpdump not tcp port 22 
  2.  
  3. tcpdump ! tcp port 22 

4. 括號(hào)

括號(hào)需要使用在引號(hào)內(nèi),或轉(zhuǎn)意使用。否則會(huì)報(bào)錯(cuò)。

例:抓取非22端口,且主機(jī)為192.168.1.112 和 192.168.1.113的TCP數(shù)據(jù)包。

命令:

  1. tcpdump not tcp port 22 and host 192.168.1.112or192.168.1.113 
  2.  
  3. tcpdump "not tcp port 22 and host (192.168.1.112 or 192.168.1.113)" 
  4.  
  5. tcpdump not tcp port 22 and host "(192.168.1.112 or 192.168.1.113)" 

六、其他實(shí)例

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

  1. tcpdump host sundown 

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

  1. tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)   

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

  1. tcpdump ip host 210.27.48.1 and ! 210.27.48.2 

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

  1. tcpdump -i eth0 dst host hostname 

5. 獲取主機(jī)210.27.48.1接收或發(fā)出的telnet包

23為telnet的端口

  1. tcpdump tcp port 23 and host 210.27.48.1 

6. 監(jiān)視本機(jī)的udp 123 端口

123 為ntp的服務(wù)端口

  1. tcpdump udp port 123 

7. 使用tcpdump抓取HTTP包

  1. tcpdump  -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 
  • 0x4745 為"GET"前兩個(gè)字母"GE",
  • 0x4854 為"HTTP"前兩個(gè)字母"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ù)包填滿整個(gè)硬盤。

六、查看數(shù)據(jù)包完整內(nèi)容

tcpdump默認(rèn)不顯示數(shù)據(jù)包的詳細(xì)內(nèi)容。

方法一:

使用-A參數(shù)能以ASCII碼顯示數(shù)據(jù)包。

例:只抓取1個(gè)數(shù)據(jù)包,并顯示其內(nèi)容。

命令:

  1. tcpdump -c 1 -A 

 

方法二:

使用-X參數(shù)能16進(jìn)制數(shù)與ASCII碼共同顯示數(shù)據(jù)包。

例:只抓取1個(gè)數(shù)據(jù)包,并顯示其內(nèi)容。

命令:

  1. tcpdump -c 1 -X 

 

七、tcpdump 與wiresharkWireshark

(以前是ethereal)是Windows下非常簡單易用的抓包工具,現(xiàn)在也有Linux版本。

通過Tcpdump抓取的數(shù)據(jù)包分析比較麻煩,要想很方便的分析數(shù)據(jù)包, 我們可以用Tcpdump + Wireshark 的完美組合實(shí)現(xiàn):在 Linux 里抓包,然后在Windows 里分析包。

保存數(shù)據(jù)包為wireshark能識(shí)別的文件:

  1. tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap 

參數(shù)含義

 

責(zé)任編輯:姜華 來源: 一口Linux
相關(guān)推薦

2020-11-19 10:15:56

tcpdump命令Linux

2018-11-05 13:50:44

Linux命令tcpdump

2022-07-05 10:50:56

運(yùn)維Linuxtcpdump

2022-10-18 10:00:09

Linuxtcpdump命令

2017-06-15 10:32:56

OracleDBV命令行工具

2020-12-10 16:16:08

工具代碼開發(fā)

2020-12-11 06:44:16

命令行工具開發(fā)

2009-12-24 14:51:39

Linux命令行

2023-06-09 07:45:29

Kuberneteskubectl

2018-11-30 09:18:36

2023-07-05 08:38:48

GolangGo語言

2010-11-24 17:12:17

MySQL命令行

2013-12-09 14:29:13

OpenStack命令行工具API

2011-01-18 19:11:26

Postfix命令行

2009-08-11 09:58:22

Linux命令行Linux命令svn命令

2019-04-16 06:50:34

2013-11-15 09:43:15

JDK工具

2018-05-04 09:15:35

PythonPlumbum命令行

2019-08-27 10:32:01

Linux操作系統(tǒng)Windows

2013-05-21 14:58:08

系統(tǒng)監(jiān)視glances開源
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 免费在线观看一区二区三区 | 福利视频大全 | 日本在线看片 | 久久久久国产成人精品亚洲午夜 | 黄色片在线免费看 | 一级片av| 91精品一区二区三区久久久久久 | 在线国产视频观看 | 91精品久久久久久久久 | 国产精品一二区 | 国产一级免费视频 | 国产欧美精品区一区二区三区 | 福利电影在线 | 成人免费看黄网站在线观看 | 久久性色| 欧美成人精品一区二区男人看 | av黄色免费| 雨宫琴音一区二区在线 | www国产亚洲精品久久网站 | 91资源在线 | 99精品国产成人一区二区 | 一区二区三区四区视频 | 四虎影音 | 国产一区中文字幕 | 在线中文字幕视频 | 青娱乐av | 亚洲国产成人久久综合一区,久久久国产99 | 中文字幕一区二区三区四区 | av一区在线 | 在线观看成人小视频 | 亚洲人在线 | 国产清纯白嫩初高生视频在线观看 | 欧美a∨ | 久久精品久久久 | 天天成人综合网 | 日韩手机视频 | 国产精品久久久久久久久久久久久久 | 亚洲高清在线 | 亚洲一区二区三区 | 成人在线黄色 | 黄频免费|