<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抓包利器:從網(wǎng)絡(luò)獲取原始數(shù)據(jù)

          共 2674字,需瀏覽 6分鐘

           ·

          2020-11-25 13:58

          鏈接:https://www.jianshu.com/p/e80227d2f3d1

          盡管Snort之類的工具在篩選通過我們的網(wǎng)絡(luò)而來的所有內(nèi)容方面做得非常出色,但有時必須要查看原始數(shù)據(jù)。為此,我們最好的工具是“ tcpdump”。

          使用tcpdump的最基本方法是簡單地發(fā)出以下命令:

          tcpdump

          您可以使用-v選項獲得更多詳細(xì)信息,而-vv可以獲取更多信息。

          有用的選項

          假設(shè)您已登錄到要管理的遠(yuǎn)程計算機。如果您不帶任何選項運行“ tcpdump”,則輸出將被來自您的SSH連接的數(shù)據(jù)包淹沒。為避免這種情況,只需從輸出中消除端口22:

          tcpdump?not?port?22

          您可以使用許多不同的端口來執(zhí)行此操作:

          tcpdump?not?port?143?and?not?port?25?and?not?port?22

          如果要進行相反的操作,即僅監(jiān)視某個端口(這對于調(diào)試網(wǎng)絡(luò)應(yīng)用程序非常有用),則可以執(zhí)行以下操作:

          tcpdump?port?143

          您還可以從網(wǎng)絡(luò)上的特定主機獲取數(shù)據(jù):

          tcpdump?host?hal9000

          如果您的計算機具有多個網(wǎng)絡(luò)接口,則還可以指定要收聽的網(wǎng)絡(luò)接口:

          tcpdump?-i?eth1

          您還可以指定協(xié)議:

          tcpdump?udp

          您可以在/ etc / protocols中找到協(xié)議列表。

          保存輸出以備后用

          在某些情況下,您可能希望將輸出重定向到文件,以便以后可以詳細(xì)研究它或使用其他程序來解析輸出。在以下示例中,您仍然可以在將輸出保存到文件時觀看輸出:

          tcpdump?-l?|?tee?tcpdump_`date?+%Y%m%e-%k.%M`

          在上面的示例中,我們可以使用日期和時間來標(biāo)識每個轉(zhuǎn)儲。在處理一天中特定時間出現(xiàn)的問題時,這可能會派上用場。

          tcpdump還可以選擇將其輸出轉(zhuǎn)儲為二進制格式,以便以后讀取。要創(chuàng)建一個二進制文件:

          tcpdump?-w?tcpdump_raw_`date?+%Y%m%e-%k.%M`

          稍后,您可以讓tcpdump使用以下命令讀取文件

          tcpdump?-r?tcpdump_raw_YYYMMDD-H.M

          您也可以使用ethereal程序打開原始轉(zhuǎn)儲并解釋它。

          tcpdump為我們提供了有關(guān)往返于網(wǎng)絡(luò)的所有數(shù)據(jù)包的信息。

          將Ethereal與tcpdump一起使用Ethereal

          Ethereal是一種也可以用來捕獲網(wǎng)絡(luò)數(shù)據(jù)包的工具。安裝后,您可以打開您制作的原始轉(zhuǎn)儲文件。

          查看正在發(fā)生的事情變得相當(dāng)容易。您可以看到源IP和目標(biāo)IP以及它是什么類型的數(shù)據(jù)包。這很容易,然后即可對您可能遇到的網(wǎng)絡(luò)問題進行故障排除并分析可疑行為。只是為了增加一則軼事,當(dāng)我編寫本課并解釋自己的轉(zhuǎn)儲時,我在個人工作站上看到了一些奇怪的活動。我?guī)缀趺扛艄潭〞r間就查詢世界上不同IP的機器上的端口32772。我為端口32772運行了一個特定的轉(zhuǎn)儲,如下所示:

          tcpdump?port?32772?-w?dump_32772

          讀取原始輸出

          如您所見,即使從tcpdump讀取所謂的“人類可讀”輸出也可能有點神秘。看下面的示例,我只是從轉(zhuǎn)儲中選出一個隨機數(shù)據(jù)包:

          17:26:22.924493?IP?www.linux.org.www?>?test.linux.org.34365:?P?2845:3739(894)?ack?1624?win?9648?

          我們所擁有的是對https://www.linux.org/的Web服務(wù)器請求。時間戳記過后,您會在主機名(即端口80)的末尾注意到.www。這將被發(fā)送到發(fā)出請求的主機test.linux.org的端口34365。“ P”代表TCP“ oush”功能。這意味著應(yīng)該立即發(fā)送數(shù)據(jù)。在2845:3739(894)之后的數(shù)字中,2845標(biāo)記第一個數(shù)據(jù)包的八位位組的編號。數(shù)字3739是數(shù)據(jù)包發(fā)送的最后一個字節(jié)的數(shù)字加1。數(shù)字894是發(fā)送的數(shù)據(jù)包的長度。表示“ ack 1624”的部分是“ acknowledge”的TCP術(shù)語-表示該數(shù)據(jù)包已被接受,下一個預(yù)期的數(shù)據(jù)包編號為1624。之后,我們看到“ win 9648”發(fā)送主機正在等待窗口大小為9648個八位位組的數(shù)據(jù)包。這之后是時間戳。

          現(xiàn)在,如果您認(rèn)為難以解釋,則使用-x選項,它將在十六進制輸出中包含數(shù)據(jù)包內(nèi)容。

          18:12:45.149977?IP?www.linux.org.www?>?test.linux.org.34536:?.?1:1449(1448)?
          ack?487?win?6432?
          ????????0x0000:??4500?05dc?6a81?4000?4006?493b?c0a8?0006??E...j.@[email protected];....
          ????????0x0010:??c0a8?0009?0050?86e8?8fa4?1d47?1c33?e3af??.....P.....G.3..
          ????????0x0020:??8010?1920?b4d9?0000?0101?080a?13a0?7a77??..............zw
          ????????0x0030:??019e?5f14?4854?5450?2f31?2e31?2032?3030??.._.HTTP/1.1.200
          ????????0x0040:??204f?4b0d?0a44?6174?653a?2054?6875?2c20??.OK..Date:.Thu,.
          ????????0x0050:??3135

          我們可以從輸出中得知這是一個HTTP請求。至于其余的,它不是人類可讀的,但是我們很容易知道這是一個合法的數(shù)據(jù)包。使用這種格式的另一個好處是,即使我們無法完全解釋此數(shù)據(jù)包的狀況,也可以將其發(fā)送給可能的人。最終,這是未經(jīng)任何過濾通過網(wǎng)絡(luò)傳輸?shù)脑紨?shù)據(jù)。

          - END -


          ?推薦閱讀?

          Kubernetes主流網(wǎng)絡(luò)方案:Flannel 網(wǎng)絡(luò)分析
          大白話理解Session和Cookie是什么?
          堡壘機是干什么的? 看完這篇你就懂了
          DevOps、CI、CD到底是什么?十分鐘理解
          為什么不建議把數(shù)據(jù)庫部署在Docker容器內(nèi)?
          一文搞懂藍(lán)綠發(fā)布、灰度發(fā)布和滾動發(fā)布
          如何在Kubernetes上部署MySQL數(shù)據(jù)庫



          點亮,服務(wù)器三年不宕機

          瀏覽 73
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  成人午夜激情片 | 青娱乐亚洲日韩 | 女人18片毛片60分钟黃菲菲 | 亚洲第一页乱 | 亚洲热情在线播放 |