請問tcpdump跟awk這個指令 - Linux

By Cara
at 2009-12-29T15:43
at 2009-12-29T15:43
Table of Contents
※ 引述《who4 (哥哥最愛獅子丸了)》之銘言:
: : 這有點難
: : tcp 還有機會 ,
: : 檢查各 connection 的 seq/ack num 對應 ,
: : 不過就算漏了 , tcp 也會做 retransmission ...
: : udp 一般沒有追蹤 session 的機制 (除非 app 自己實作)
: : 所以即使掉了也不知道 ...
: 我正是要追蹤udp封包中間有無掉包
如果你跑的 ap 一定會依序一送一收 ,
那己端有送卻沒有收 , 可以判定是 送出時掉包、或回來時掉包
但如果是一送多收、多送一收 , 就難檢查是哪段掉包了 .
: : 前面的 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
: 請問這個1388是怎麼推出來的?是13880取前面四位數嗎?
: substr($8, 0, length($8)-1),中間的參數"0",指的是什麼/
substr( 字串 , 起始位移 , 長度 )
所以表示將 $8 的字串 , 由第一個字開始 , 抓 length($8)-1 個字
: : srand() 一般是在指定亂數的種子 , 不過直接 print 似乎會出現目前的 timestamp
: : FNR 表示第幾筆資料
: : 整段看起來是在追蹤各封包中 id 欄位是否有依順序在收送(? 不是很確定)
: : 但這段 script 基本上做不到檢查封包是否有漏的情況 XD
: 我以為這段script是來對所收的封包做編號,例如我傳送100筆封包
: 並且依序做編號,只要發現印出來的數字中間有不連續的情形
: 就可以認定出在第幾個封包有漏掉的情形
: 總之謝謝你的幫忙:)
這應該只在某些限制條件下會成立 ,
不包含全部的 case :)
--
: : 這有點難
: : tcp 還有機會 ,
: : 檢查各 connection 的 seq/ack num 對應 ,
: : 不過就算漏了 , tcp 也會做 retransmission ...
: : udp 一般沒有追蹤 session 的機制 (除非 app 自己實作)
: : 所以即使掉了也不知道 ...
: 我正是要追蹤udp封包中間有無掉包
如果你跑的 ap 一定會依序一送一收 ,
那己端有送卻沒有收 , 可以判定是 送出時掉包、或回來時掉包
但如果是一送多收、多送一收 , 就難檢查是哪段掉包了 .
: : 前面的 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
: 請問這個1388是怎麼推出來的?是13880取前面四位數嗎?
: substr($8, 0, length($8)-1),中間的參數"0",指的是什麼/
substr( 字串 , 起始位移 , 長度 )
所以表示將 $8 的字串 , 由第一個字開始 , 抓 length($8)-1 個字
: : srand() 一般是在指定亂數的種子 , 不過直接 print 似乎會出現目前的 timestamp
: : FNR 表示第幾筆資料
: : 整段看起來是在追蹤各封包中 id 欄位是否有依順序在收送(? 不是很確定)
: : 但這段 script 基本上做不到檢查封包是否有漏的情況 XD
: 我以為這段script是來對所收的封包做編號,例如我傳送100筆封包
: 並且依序做編號,只要發現印出來的數字中間有不連續的情形
: 就可以認定出在第幾個封包有漏掉的情形
: 總之謝謝你的幫忙:)
這應該只在某些限制條件下會成立 ,
不包含全部的 case :)
--
Tags:
Linux
All Comments

By Edith
at 2010-01-03T09:48
at 2010-01-03T09:48
Related Posts
多語版的PCMANX

By Yedda
at 2009-12-29T15:16
at 2009-12-29T15:16
emesen

By Ophelia
at 2009-12-29T12:17
at 2009-12-29T12:17
bash 迴圈語法錯誤

By Hedda
at 2009-12-29T11:51
at 2009-12-29T11:51
ncu的sourceforge mirror何時才會修好?

By Anonymous
at 2009-12-29T11:41
at 2009-12-29T11:41
請問tcpdump跟awk這個指令

By Callum
at 2009-12-29T09:09
at 2009-12-29T09:09