Re: [問題] 請問tcpdump跟awk這個指令

看板Linux作者 (OuTian)時間16年前 (2009/12/29 15:43), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串5/5 (看更多)
※ 引述《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 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.227.16.28

12/30 08:59, , 1F
謝謝:)
12/30 08:59, 1F
文章代碼(AID): #1BERCH3- (Linux)
討論串 (同標題文章)
文章代碼(AID): #1BERCH3- (Linux)