tcpdump抓包命令

目錄:

  • 命令格式
  • 選項
  • expression表達式
  • 示例

?

【命令格式】

man手冊顯示如下

 1 tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ]
 2                [ -c count ]
 3                [ -C file_size ] [ -G rotate_seconds ] [ -F file ]
 4                [ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]
 5                [ --number ] [ -Q|-P in|out|inout ]
 6                [ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ]
 7                [ -W filecount ]
 8                [ -E spi@ipaddr algo:secret,...  ]
 9                [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
10                [ --time-stamp-precision=tstamp_precision ]
11                [ --immediate-mode ] [ --version ]
12                [ expression ]

?

【選項】

-A????????以ASCII碼打印報文(不包括鏈路層的頭),方便分析網頁
-c????????抓取多少數據包后退出
-C????????用于判斷-w選項寫入將報文寫入的文件大小是否超過此值,如果超過就新建文件(文件名后綴1、2、3遞增)
-d????????將匹配信息包的編譯代碼以人類易讀的方式輸出至stdout
-dd? ? ? ?將匹配信息包的代碼作為C語言程序段格式給出
-ddd? ? ? 將匹配信息包的代碼以十進制格式給出
-D????????列出當前可用于抓包的網卡名稱和對應編號。網卡名稱和對應編號可用于-i選項
-e? ? ? ? 打印鏈路層的頭部信息,如MAC地址
-f? ? ? ? 以數字形式打印外部ip地址
-F????????從文件中讀取過濾表達式,忽略命令行上的其它表達式
-G????????每隔多少秒重新存儲數據包至文件(-w選項指定的文件,需帶時間),用法如tcpdump??-i ens35 -G 3 -w??packets_%H%M%S.pcap
-i? ? ? ? 抓取指定網卡的數據流。若不指定,則使用最小編號(-D)的網卡;any參數抓取所有網卡的數據流
-K????????不嘗試計算IP、TCP、UDP校驗和
-l? ? ? ? 使標準輸出變為緩沖形式(小寫L);tcpdump -l | tee dat或者tcpdump -l > dat & tail -f dat,實現邊寫入文件邊標準輸出
-L????????列出數據連接類型
-n????????顯示ip而不是主機名
-nn? ? ? ?顯示端口號,而不是端口名
-N????????不列出全域名
-#????????打印數據包的行號
-p????????非混雜模式,不能與host或broadcast一起使用
-q????????快速輸出,顯示較少信息
-Q|-P? ? ?選擇抓取某個方向的數據包,參數可以是in、out、inout(默認)
-r? ? ? ? 從文件中讀取數據包
-S????????使用絕對值,而非相對值,打印tcp序列號
-s? ? ? ? 抓到每一個數據包的截取字節數,默認68字節。參數0表示不截斷,抓取完整數據包。
-T????????將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠程過程調用)和snmp(簡單網絡管理協議)
-t? ? ? ? 不打印時間戳
-tt? ? ? ?打印時間戳秒數,自1970/0/0 00:00:00開始
-ttt? ? ? 打印當前行和上一行的時間差
-tttt? ? ?打印標準時間戳格式,如2019-06-21 14:10:49.314665
-ttttt? ? 打印當前行和第一行的時間差
-v? ? ? ? 打印比較詳細的信息
-vv? ? ? ?打印更加詳細的信息
-vvv??????打印非常詳細的信息
-w????????將數據包寫入文件中,同時能使用-r選項恢復打印
-X? ? ? ? 輸出包的頭部信息,以16進制和ASCII兩種方式同時輸出
-XX???????詳細輸出包的頭部信息,以16進制和ASCII兩種方式同時輸出
expression?? ?過濾表達式,篩選輸出的數據包

?

【expression表達式】

tcpdump表達式由一個或多個"單元"組成,每個單元一般包含ID的修飾符和一個ID(數字或名稱)
基本格式為:proto? ? dir? ? type
三種修飾符:
proto:協議類型
常用的協議有tcp/udp/arp/ip/ether/icmp等。
若未給定協議類型,則匹配所有可能的類型。例如"tcp port 21","udp portrange 7000-7009";
dir:指定ID的方向
可以給定的值包括src/dst/src or dst/src and dst,默認為src or dst。
例如,"src foo"表示源主機為foo的數據包,"dst net 128.3"表示目標網絡為128.3的數據包,"src or dst port 22"表示源或目的端口為22的數據包;
type:指定ID的類型
可以給定的值有host/net/port/portrange。例如"host foo","net 128.3","port 20","portrange 6000-6008"。默認的type為host;
除了修飾符和ID組成表達式單元,還有關鍵字表達式單元(gateway,broadcast,less,greater)和算術表達式
表達式單元之間可以使用操作符" and / && / or / || / not / ! "進行連接,如"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"意義相同
使用括號"()"可以改變表達式的優先級,但需要注意的是括號會被shell解釋,所以應該使用反斜線"\"轉義為"\(\)",在需要的時候,還需要包圍在引號中。
常用端口和名字的對應關系可在linux系統中的/etc/services文件中找到

?

【示例】

查詢端口ens32的數據包

# tcpdump -i ens32 -w ens32.pcap

查詢所有端口數據包,并寫入文件

# tcpdump -i any -w any.pcap

邊顯示邊寫入文件

# tcpdump -i ens32 -l |tee ens32.pcap

抓取與132服務器交互的數據包

# tcpdump -i ens35 -q -n -nn net 192.168.237.132

抓取來自132的數據包(默認會抓取src or dst)

# tcpdump -i ens35 -q -n -nn src host 192.168.237.132
# tcpdump -i ens35 -q -n -nn src net 192.168.237.132

抓取與132服務器交互的數據包,但排除22端口

# tcpdump -i ens35 -q -n -nn net 192.168.237.132  and not port 22

抓取端口80上與132服務器交互的數據包

# tcpdump -i ens35 -q -n -nn -tttt net 192.168.237.132 and tcp port 80

抓取端口范圍10-80上來自132的數據包,同時排除22端口

# tcpdump -i ens35 -q -n -nn src net 192.168.237.132 and tcp portrange 10-80 and not port 22

Tips:proto協議不能修飾host和net,只能修飾port或portrange

?

轉載于:https://www.cnblogs.com/MrReboot/p/11073075.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/448639.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448639.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448639.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

百度Ueditor編輯器wordimage踩坑

背景 改造公司老項目后臺編輯器,使用百度的Ueditor做替換。 發現問題 1、ue編輯器初始化后部分參數無法覆蓋ueditor.config.js中的選項。2、wordimage(word圖片轉存)始終是灰色,無法使用。解決辦法 1、將ueditor.config.js中的inp…

IntelliJ IDEA 配置JDK

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 IDEA配置JDK 1、點擊File -->Project Structure; 2、點擊左側標簽頁SDKs選項,再點擊左上角“”,…

get和post 兩種基本請求方式的區別

GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。 最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞參數。 你可能自己寫過無數個GET和POST請求,或者已經看過很多權威網站總結出…

無論是工作還是生活都要記住這些話

1.如果你不喜歡現在的工作,要么辭職不干,要么就閉嘴不言。初出茅廬,往往眼高手低,心高氣傲,大事做不了,小事不愿做。不要養成挑三揀四的習慣。不要雨天煩打傘,不帶傘又怕淋雨,處處表…

蘇嵌第一天,shell中一些基礎知識

一、常用環境變量 1、HOME變量 Linux系統中的每個用戶都有一個相關的稱作HOME的目錄。 2、PATH變量 包含一列用冒號定界的目錄的路徑名字,便于可執行程序的搜索。 3、PS1變量 PS1變量包含了shell提示符,$符號 4、LOGNAME變量 包含用戶的注冊名字…

Java異常處理001:Maven clean package時Failed to clean project: Failed to delete

Java異常處理001:Maven打包時Failed to clean project: Failed to delete 異常日志: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.6.1:clean (default-clean) on project fmk-web: Failed to clean project: Failed …

Weekly Contest 141

做了第一道后,看了下中間兩道題目,沒怎么看懂就先放著,做完最后一道,然后就沒時間了。 1089. Duplicate Zeros Given a fixed length array arr of integers, duplicate each occurrence of zero, shifting the remaining element…

IntelliJ IDEA 中配置、使用 SVN

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.配置svn 如下圖: file -- setting -- version control -- subversion -- 選擇 SVN安裝路徑 -- apply -- OK 2.直接檢出…

切記!職場郵件需注意的細節

電子郵件是如今工作場所重要的通信工具之一,但不是每個人都知道如何很好地使用這個工具。工作郵件也是人際溝通的一種方式,和打電話、面談一樣,有很多學問講究,所以在發送郵件之前一定要深思熟慮。 【發送,抄送&…

李洋瘋狂C語言之初

1.sizeof 是看數據類型所占空間大小,這個大小是以 字節(B)為單位 char 是C語言的字符數據類型 %d 用在printf 中表示往屏幕打印一個數字 printf ("char: %d\n", sizeof(char)); 數據類型之間的關系,shor…

時時流量查看工具-ifsta,nload,iftop

為什么80%的碼農都做不了架構師?>>> 1、ifstat 是一個網絡流量監測程序。能查看網卡的流出和流入的字節. 概要:ifstat就像iostat/vmstat描述其它的系統狀況一樣,是一個統計網絡接口活動狀態的工具。 參數: -l 監測環路…

10大清宿便排毒方法及簡單排毒瘦小腹運動

早上空腹喝水法:每日起床后空腹喝下500C.C.加鹽的冷開水。只要是冷的飲料或水分,在腸胃空腹時都有刺激腸胃蠕動的效果,而且越冰刺激效果越好,建議不需加鹽,以免高血壓患者因鹽分中的金屬離子造成腎的負擔。 優酪乳加綠…

破解 IntelliJ IDEA 、免費注冊方法、注冊碼

1. 找到hosts文件,在此路徑下 C:\Windows\System32\drivers\etc 2. 修改hosts 文件,在最后 加一行配置: (此操作需要電腦管理員權限) 0.0.0.0 account.jetbrains.com 3. 從idea 注冊碼生成網站生成一組注冊碼。網…

李洋瘋狂C語言之冒泡排序法

今天的課后任務是2種排序方式(冒泡排序和選擇排序) 冒泡排序法1 原理:從a[0]開始,依次將其和后面的元素比較,若a[0]>a[i],則交換他們,一直比較到a[n]。同理對a[1], a[2], ……a[n-1]處理&a…

MySQL水平分區代理Spock Proxy(一)

為什么80%的碼農都做不了架構師?>>> MySQL水平分區代理Spock Proxy 水平分區(sharding)將同一數據表中的數據通過特定的算法進行分離,分別保存在不同的數據表中,從而部署到不同的數據庫服務器上。 水平分區后,數據拆分…

OO第四單元作業

1.作業的架構設計 (1)對于第一次作業中,要求我們實現關于類圖的查詢指令。 在這次作業中,主要采用的儲存方法是哈希表。 在查詢方法上,大多數要求諸如共有多少類等,利用哈希表進行查詢即可。 比較困難的一些…

傷錢傷感情 10件不能和親戚一起干的事兒

關于親戚和理財,網友小盒總結了下十大別和親戚干的事兒,干了之后保管既傷錢又傷感情: 1、別幫親戚炒股 賺了覺得你賺得不如以前吹的那么多,賠了就剩翻臉了,搭時間搭功夫還不落好。 2、別和親戚一起做生意 道理同…

李洋瘋狂C語言之選擇排序

選擇排序法 原理: 選擇法循環過程與冒泡法一致,它還定義了記號mini,然后依次把a[min]同后面的元素比較,若a[min]>a[j],則使kj. 最后看看ki是否還成立,不成立則交換a[k], a[i],這樣就比冒泡法省下許多無用的交換&a…

利用 git 提交代碼、git 簡單使用(拉取、推送、分支、合并)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.安裝 git sudo apt-get install git 2.查看版本: git --version 我的版本信息: 3. 配置用戶名和郵箱 : …

如何在android studio中設置sdk path?

為什么80%的碼農都做不了架構師?>>> Press F4 into Project StructureLeft > SDKsPress , add another sdk轉載于:https://my.oschina.net/itfanr/blog/195714