<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          史上最簡明的 Tcpdump 入門指南,看這一篇就夠了

          共 2229字,需瀏覽 5分鐘

           ·

          2021-09-27 04:44

          在下方公眾號后臺回復(fù):面試手冊,可獲取杰哥匯總的 3 份面試 PDF 手冊。

          簡介

          網(wǎng)絡(luò)數(shù)據(jù)包截獲分析工具。支持針對網(wǎng)絡(luò)層、協(xié)議、主機(jī)、網(wǎng)絡(luò)或端口的過濾。并提供and、or、not等邏輯語句幫助去除無用的信息。

          tcpdump - dump traffic on a network

          例子

          不指定任何參數(shù)

          監(jiān)聽第一塊網(wǎng)卡上經(jīng)過的數(shù)據(jù)包。主機(jī)上可能有不止一塊網(wǎng)卡,所以經(jīng)常需要指定網(wǎng)卡。

          tcpdump

          監(jiān)聽特定網(wǎng)卡

          tcpdump -i en0

          監(jiān)聽特定主機(jī)

          例子:監(jiān)聽本機(jī)跟主機(jī)182.254.38.55之間往來的通信包。

          備注:出、入的包都會被監(jiān)聽。

          tcpdump host 182.254.38.55

          特定來源、目標(biāo)地址的通信

          特定來源

          tcpdump src host hostname

          特定目標(biāo)地址

          tcpdump dst host hostname
          如果不指定 srcdst,那么來源 或者目標(biāo) 是hostname的通信都會被監(jiān)聽
          tcpdump host hostname

          特定端口

          tcpdump port 3000

          監(jiān)聽TCP/UDP

          服務(wù)器上不同服務(wù)分別用了TCP、UDP作為傳輸層,假如只想監(jiān)聽TCP的數(shù)據(jù)包

          tcpdump tcp

          來源主機(jī)+端口+TCP

          監(jiān)聽來自主機(jī) 123.207.116.169 在端口 22 上的TCP數(shù)據(jù)包

          tcpdump tcp port 22 and src host 123.207.116.169

          監(jiān)聽特定主機(jī)之間的通信

          tcpdump ip host 210.27.48.1 and 210.27.48.2


          210.27.48.1 除了和 210.27.48.2 之外的主機(jī)之間的通信

          tcpdump ip host 210.27.48.1 and ! 210.27.48.2

          稍微詳細(xì)點的例子

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

          (1)tcp: ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數(shù)的位置,用來過濾數(shù)據(jù)報的類型
          (2)-i eth1 : 只抓經(jīng)過接口eth1的包
          (3)-t : 不顯示時間戳
          (4)-s 0 : 抓取數(shù)據(jù)包時默認(rèn)抓取長度為68字節(jié)。加上-S 0 后可以抓到完整的數(shù)據(jù)包
          (5)-c 100 : 只抓取100個數(shù)據(jù)包
          (6)dst port ! 22 : 不抓取目標(biāo)端口是22的數(shù)據(jù)包
          (7)src net 192.168.1.0/24 : 數(shù)據(jù)包的源網(wǎng)絡(luò)地址為192.168.1.0/24
          (8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

          抓http包

          TODO

          限制抓包的數(shù)量

          如下,抓到1000個包后,自動退出

          tcpdump -c 1000

          保存到本地

          備注:tcpdump默認(rèn)會將輸出寫到緩沖區(qū),只有緩沖區(qū)內(nèi)容達(dá)到一定的大小,或者tcpdump退出時,才會將輸出寫到本地磁盤

          tcpdump -n -vvv -c 1000 -w /tmp/tcpdump_save.cap

          復(fù)制代碼也可以加上-U強制立即寫到本地磁盤(一般不建議,性能相對較差)

          實戰(zhàn)例子

          先看下面一個比較常見的部署方式,在服務(wù)器上部署了nodejs server,監(jiān)聽3000端口。nginx反向代理監(jiān)聽80端口,并將請求轉(zhuǎn)發(fā)給nodejs server(127.0.0.1:3000)。

          瀏覽器 -> nginx反向代理 -> nodejs server

          問題:假設(shè)用戶(183.14.132.117)訪問瀏覽器,發(fā)現(xiàn)請求沒有返回,該怎么排查呢?

          步驟一:查看請求是否到達(dá)nodejs server -> 可通過日志查看。

          步驟二:查看nginx是否將請求轉(zhuǎn)發(fā)給nodejs server。

          tcpdump port 8383

          復(fù)制代碼這時你會發(fā)現(xiàn)沒有任何輸出,即使nodejs server已經(jīng)收到了請求。因為nginx轉(zhuǎn)發(fā)到的地址是127.0.0.1,用的不是默認(rèn)的interface,此時需要顯示指定interface

          tcpdump port 8383 -i lo

          復(fù)制代碼備注:配置nginx,讓nginx帶上請求側(cè)的host,不然nodejs server無法獲取 src host,也就是說,下面的監(jiān)聽是無效的,因為此時對于nodejs server來說,src host 都是 127.0.0.1

          tcpdump port 8383 -i lo and src host 183.14.132.117

          復(fù)制代碼步驟三:查看請求是否達(dá)到服務(wù)器

          tcpdump -n tcp port 8383 -i lo and src host 183.14.132.117


          作者:程序猿小卡
          鏈接:https://juejin.cn/post/6844903541845262344

          推薦閱讀

          tcpdump / wireshark 抓包及分析
          【建議收藏】抓包工具 tcpdump 用法說明

          瀏覽 20
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩第九页 | 免费xx视频 | 免费在线黄色小视频 | 午夜久久精品嫖妓av一区二区三区 | 国产综合视频在线播放 |