請問tcpdump跟awk這個指令 - Linux

Franklin avatar
By Franklin
at 2009-12-29T04:31

Table of Contents

※ 引述《who4 (哥哥最愛獅子丸了)》之銘言:
: 我想要請問tcpdump是否可以一邊監控封包
: 一邊得知在傳送的過程中是否有封包漏掉的情形
: 又是在哪一段漏掉的,掉了多少封包?
這有點難

tcp 還有機會 ,
檢查各 connection 的 seq/ack num 對應 ,
不過就算漏了 , tcp 也會做 retransmission ...

udp 一般沒有追蹤 session 的機制 (除非 app 自己實作)
所以即使掉了也不知道 ...

: 還有tcpdump要來看截取udp的封包是不是後面要加udp這個參數?
: 像是tcpdump -nv udp 192.168.1.1之類的,

tcpdump 後方可以接很多 filter (man tcpdump有)
指定 protocol、host、port、甚至某個 flag

以下的 host 192.168.1.1 and port 1234 則是指
src/dst ip 中有出現 192.168.1.1 這個 ip ,
且 src/dst port 中有出現 1234 這個 port 的封包 .

: 另外一個是關於awk這個指令
: 能否請版上的高手幫我解釋一下下面這段awk後面的指令是什麼意思
: tcpdump -nv host 192.168.1.1 and port 1234 | awk 'BEGIN{a=0}{n=substr($8, 0, \
: length($8)-1); if (a+1<n) {print srand(),FNR,a,n;}; a=n; }
: 因為我沒用awk做過這麼複雜的動作
: 上網查了一下,BEGIN是做初始化的動作
: 但是後面的substr(), length($8), srand(), FNR,實在是超出我能理解的範圍
: 希望有好心人可以告訴我上面這段awk是在做什麼事情
: 謝謝

前面的 tcpdump 出來結果會是類似
04:29:40.806729 IP (tos 0x0, ttl 107, id 13880, offset 0, flags [DF], proto
TCP (6), length 48) 192.168.1.1.xxxx > x.x.x.x.xxx ...

黃色那部份就是 awk 取到的 $8 (用空白或tab分欄後的第八個欄位)

所以那段 awk 中的

$8 => 13880
length($8) => 5
substr($8, 0, length($8)-1) => 1388
srand() 一般是在指定亂數的種子 , 不過直接 print 似乎會出現目前的 timestamp
FNR 表示第幾筆資料


整段看起來是在追蹤各封包中 id 欄位是否有依順序在收送(? 不是很確定)

但這段 script 基本上做不到檢查封包是否有漏的情況 XD

--
Tags: Linux

All Comments

Adele avatar
By Adele
at 2010-01-02T06:28
對!我就是要看封包有無依順序再送來看是否有某段封包掉了

請問安裝套件會影響到其他人嗎?

Susan avatar
By Susan
at 2009-12-29T03:38
※ 引述《fatboy (胖孩子)》之銘言: : 有一台共用的電腦 : 我想要安裝一個軟體,假設是cscope好了 : 那我安裝了會影響到其他人的使用嗎? 就... 別人也可以用啊 XD : 另外就是,要怎麼知道想安裝的軟體是否已經安裝到電腦上了呢? 用你的發行版的套件管理程式查 不過以現在rpm和deb兩 ...

請問tcpdump跟awk這個指令

Doris avatar
By Doris
at 2009-12-29T01:27
※ 引述《who4 (哥哥最愛獅子丸了)》之銘言: : 上網查了一下,BEGIN是做初始化的動作 : 但是後面的substr(), length($8), srand(), FNR,實在是超出我能理解的範圍 substr 從給定字串中取出它的一部分 length 字串長度 srand 亂數 FNR 不曉得,應 ...

請問安裝套件會影響到其他人嗎?

Michael avatar
By Michael
at 2009-12-29T01:13
有一台共用的電腦 我想要安裝一個軟體,假設是cscope好了 那我安裝了會影響到其他人的使用嗎? 另外就是,要怎麼知道想安裝的軟體是否已經安裝到電腦上了呢? 剛碰Linux, 實在是不太熟@@ 還請多教教小弟 謝謝^^ - ...

請問tcpdump跟awk這個指令

Freda avatar
By Freda
at 2009-12-28T22:56
我想要請問tcpdump是否可以一邊監控封包 一邊得知在傳送的過程中是否有封包漏掉的情形 又是在哪一段漏掉的,掉了多少封包? 還有tcpdump要來看截取udp的封包是不是後面要加udp這個參數? 像是tcpdump -nv udp 192.168.1.1之類的, 另外一個是關於awk這個指令 能否請版 ...

openoffice指定字型

Mia avatar
By Mia
at 2009-12-28T21:04
想要幫openoffice加入新細明體 可是又不想加到/usr/share/fonts/truetype/裡頭 因為chrome都會優先選擇網頁指定字型== 請問有別的辦法嗎? - ...