tcpdump 命令介紹

2020-12-14 0101調頻

命令介紹

tcpdump 從字面上理解是 dump the traffic on a network,是命令行下對網絡進行抓包分析的工具。不僅提供了根據網絡層、協議、主機、網絡或埠等多個條件進行過濾的能力,還能夠通過 and、or、not邏輯語句,以及表達式來滿足用戶多種多樣的網絡抓包需求。

Linux 下的命令格式:

常用的參數:

-D:列出可用於抓包的接口;-l :使標準輸出變為緩衝行形式;-n:不把網絡地址轉換成名字;-c:在收到指定的包的數目後,tcpdump就會停止;-i:指定監聽的網絡接口;(如果沒有指定可能在默認網卡上監聽,需要指定綁定了特定IP的網卡);-s:指定記錄package的大小,常見 -s 0 ,代表最大值65535,一般linux傳輸最小單元MTU為1500;-w:直接將包寫入文件中,配合 -G time 選項可以按照固定的時間間隔切割輸出的文件;-X:直接輸出package data數據,默認不設置,只能通過-w指定文件進行輸出;Unix、Mac下tcpdump命令的參數有所不同,在具體使用過程中要查閱文檔進行相應的調整。如Mac下的命令格式:NAME tcpdump - dump traffic on a networkSYNOPSIS tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ] [ -c count ] [ -C file_size ] [ -G rotate_seconds ] [ -F file ] [ -i interface ] [ -j tstamp_type ] [ -k (metadata_arg) ] [ -m module ] [ -M secret ] [ --number ] [ -Q in|out|inout ] [ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ] [ -E spi@ipaddr algo:secret,... ] [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ] [ -Q packet-metadata-filter ] [ -Q in|out|inout ] [ --time-stamp-precision=tstamp_precision ] [ --immediate-mode ] [ --version ] [ expression ]

表達式

表達式的基本格式為:proto dir type ID 。表達式之間可以使用邏輯語句進行連接。分別介紹如下:

協議。包括:tcp、udp、icmp,如果為空則可以匹配所有協議。目標。包括:src、dst、src or dst、src and dst。類型。包括:host、net、port、portrange。用法舉例

監聽 eth1 網卡上的所有數據包 tcpdump -i eth1監聽某個IP上的所有數據包,適合有多個IP的設備的場景tcpdump host 10.208.0.10監聽兩個IP之間通信的數據包tcpdump host 10.208.0.10 and \( 10.208.1.10 \)監聽主機與某個IP之外的所有IP數據包tcpdump ip host 10.208.0.10 and ! 10.208.1.10監聽某個IP所有80埠的流量tcpdump tcp port 80 and host 10.208.0.10本文無法列舉所有的使用場景,還需要各位同學根據自己需求分析實踐,如果願意與樓主交流,歡迎通過關注公眾號找到我。如果不習慣使用命令行下的抓包工具,也可以使用圖形界面的抓包工具,通過 Wireshark使用入門 可以了解更多信息。

相關焦點

  • 一份快速實用的 tcpdump 命令參考手冊
    我敢肯定我會忽略一些相當酷的命令,歡迎你補充在評論部分。在我們深入了解以前,最重要的是了解 tcpdump 是用來做什麼的。 tcpdump 命令用來保存和記錄網絡流量。你可以用它來觀察網絡上發生了什麼,並可用來解決各種各樣的問題,包括和網絡通信無關的問題。除了網絡問題,我經常用 tcpdump 解決應用程式的問題。
  • Linux tcpdump命令詳解
    實用命令實例默認啟動tcpdump普通情況下,直接啟動tcpdump將監視第一個網絡接口上所有流過的數據包。tcpdump ip host ace and not helios如果想要獲取主機210.27.48.1除了和主機210.27.48.2之外所有主機通信的ip包,使用命令:tcpdump ip host 210.27.48.1 and !
  • Linux tcpdump命令詳解(1)
    實用命令實例默認啟動tcpdump普通情況下,直接啟動tcpdump將監視第一個網絡接口上所有流過的數據包。tcpdump host sundown也可以指定ip,例如截獲所有210.27.48.1 的主機收到的和發出的所有的數據包tcpdump host 210.27.48.1列印helios 與 hot 或者與 ace 之間通信的數據包tcpdump host helios and \( hot or ace \
  • Linux tcpdump命令詳解(3)
    tcpdump可以將網絡中傳送的數據包的「頭」完全截獲下來提供分析。它支持針對網絡層、協議、主機、網絡或埠的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。如果只是使用一個數字埠號,則只有相應埠號被檢查(比如, dst port 513 將會使tcpdump抓取tcp協議的login 服務和udp協議的who 服務數據包, 而port domain 將會使tcpdump 抓取tcp協議的domain 服務數據包, 以及udp 協議的domain 數據包)(nt | rt: ambiguous name is used 不可理解, 需補充).
  • tcpdump 實戰詳解
    今天要分享的是 tcpdump,它是 Linux 系統中特別有用的網絡工具,通常用於故障診斷、網絡分析,功能非常的強大。相對於其它 Linux 工具而言,tcpdump 是複雜的。通過上圖,我們可以很直觀的看到,數據包到達網卡後,經過數據包過濾器(BPF)篩選後,拷貝至用戶態的 tcpdump 程序,以供 tcpdump 工具進行後續的處理工作,輸出或保存到 pcap 文件。
  • 肝了三天,萬字長文教你玩轉 tcpdump,從此抓包不用愁
    圖源 | 視覺中國來源|Python編程時光(ID: Cool-Python)今天要給大家介紹的一個 Unix 下的一個 網絡數據採集分析工具 -- Tcpdump,也就是我們常說的抓包工具。與它功能類似的工具有 wireshark ,不同的是,wireshark 有圖形化界面,而 tcpdump 則只有命令行。由於我本人更習慣使用命令行的方式進行抓包,因此今天先跳過 wireshark,直接給大家介紹這個 tcpdump 神器。
  • 「linux開發」一篇文章帶你搞懂tcpdump,抓包再也不是問題
    實用命令實例默認啟動tcpdump普通情況下,直接啟動tcpdump將監視第一個網絡接口上所有流過的數據包。命令使用tcpdump採用命令行方式,它的命令格式為:tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c count ][ -C file_size ] [ -F file ]
  • Linux命令行抓包及包解析工具tshark(wireshark)使用實例解析
  • Bash Shell基礎:Bash退出命令和退出代碼
    在本文中,我們將介紹Bash exit內置命令和已執行命令的退出狀態。按照慣例,退出代碼為零表示命令已成功完成,非退出代碼為零表示遇到錯誤。linuxmi@linuxmi:~/www.linuxmi.com$ date &> /dev/nulllinuxmi@linuxmi:~/www.linuxmi.com$ echo $?
  • 3分鐘短文|Linux 命令正確的退出方式:exit 0
    引言通常,在編寫Bash腳本時,需要在滿足特定條件時終止腳本,或者根據命令的退出代碼採取措施。在本文中,我們將介紹Bash exit內置命令和已執行命令的退出狀態。返回最後執行的命令的退出狀態:date &> /dev/nullecho $?該 date 命令成功完成,並且退出代碼為 0。
  • Linux下統計Nginx的log日誌常用命令
    工作中可能需要通過nginx日誌來分析網站的訪問情況,此時就需要對nginx日誌進行分析,以下是常用的分析命令:一、IP相關統計
  • 面試官問我Linux下常見網絡命令
    ping 命令包含12 個參數,所有參數都可以通過執行ping來查看(2)實例ping www.baidu.com註:Linux下的ping命令和Windows下的ping命令不同要注意的是,直接在命令行下執行route命令來添加路由,不會永久保存,當網卡重啟或者機器重啟之後,該路由就失效了;可以在*/etc/rc.local中添加route命令來保證該路由設置永久有效。
  • linux命令大全
    5.linux命令大全之文件傳輸篇Linux命令大全中涉及文檔傳輸的命令有15條,分別為:lprm、lpr、lpq、lpd、bye、ftp、uuto、uupick、uucp、uucico、tftp、ncftp、ftpshut、ftpwho、ftpcount。
  • Linux 命令匯總
    命令功能說明線上查詢及幫助命令 (2 個)man查看命令幫助,命令的詞典,更複雜的還有 info,但不常用。help查看 Linux 內置命令的幫助,比如 cd 命令。文件和目錄操作命令 (18 個)ls全拼 list,功能是列出目錄的內容及其內容屬性信息。
  • LLDB命令庫HMLLDB介紹
    /Users/pal/Desktop/gitProjects/HMLLDB/commands/HMLLDB.py重啟Xcode,運行你自己的iOS項目,點擊Pause program execution進入LLDB調試模式,輸入命令help,如果看到有下文介紹的命令,表明安裝成功。
  • Linux的介紹以及常用命令
    Linux的介紹:創始人**林納斯·託瓦茲**,最早是為了玩遊戲而開發出來的。Linux是一套免費使用和自由傳播的類Unix作業系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的作業系統。它能運行主要的UNIX工具軟體、應用程式和網絡協議。
  • 初學者運維必知的Linux命令大全「完整版」
    mount、umount、mkfs.ext4、fsck.ext4、parted、lvm、dd、du、df、top、iftop、free、w、uptime、iostat、vmstat、iotop、ps、netstat、lsof、ss、sar;網絡管理相關:Ping、ifconfig、ip addr、ifup、ifdown、nmcli、route、nslookup、traceroute、dig、tcpdump
  • 《戰場女武神4》艦船命令用法及種類介紹 什麼是艦船命令
    導 讀 展開 《戰場女武神4》中玩家可以在戰鬥中下達艦船命令從而獲得雪上巡洋艦百夫長號的支援,那麼具體都可以下達哪些艦船命令呢