2012年2月7日 星期二

linux上安裝和使用wireshark

centos下安裝wireshark相當簡單.兩條命令就夠了.這裡.主要是記錄寫使用方面的東西
安裝1yum install wireshark。注意這樣並無法使用wireshark命令和圖形界面。但提供了抓包基本功能。2yum install wireshark-gnome。這樣就可以方便的使用了。
如果能登錄圖形界面終端.那使用和windows下的無區別.但我們的服務器都在國外.要管理的話都是SSH登錄只能用命令行了。使用wireshark的命令行工具tshark,在安裝的時候會默認給安裝上的,使用方法很簡單,要 ​​捕捉包: tshark -wpacket.txt -i etho -q這樣就會把捕捉到的網絡包存放在packet .txt文件裡面,要查看詳情的話: tshark -rpacket.txt -x -V|more即可.
下面理一下所有參數的作用:
-a <capture autostop condition>
設置一個標準用來指定Wireshark什麼時候停止捕捉文件。標準的格式為test:value,test值為下面中的一個。
duration:value
當捕捉持續描述超過Value值,停止寫入捕捉文件。
filesize:value
當捕捉文件大小達到Valuekilobytes(kilobytes表示1000bytes,而不是1024 bytes),停止寫入捕捉文件。如果該選項和-b選項同時使用,Wireshark在達到指定文件大小時會停止寫入當前捕捉文件,並切換到下一個文件。
files:value
當文件數達到Value值時停止寫入捕捉文件
-b <capture ring buffer option>
如果指定捕捉文件最大尺寸,因為Wireshark運行在"ring buffer"模式,被指定了文件數。在"ring buffer"模式下,Wireshark 會寫到多個捕捉文件。它們的名字由文件數和創建日期,時間決定。
當第一個捕捉文件被寫滿,Wireshark會跳轉到下一個文件寫入,直到寫滿最後一個文件,此時Wireshark會丟棄第一個文件的數據(除非將files設置為0,如果設置為0,將沒有文件數限制),將數據寫入該文件。
如果duration選項被指定,當​​捕捉持續時間達到指定值的秒數,Wireshark同樣會切換到下個文件,即使文件未被寫滿。
duration:value
當捕捉持續描述超過Value值,即使文件未被寫滿,也會切換到下個文件繼續寫入。
filesize:value
當文件大小達到valuekilobytes(kelobyte表示1000bytes,而不是1024bytes),切換到下一個文件。
files:value
當文件數達到value值時,從第一個文件重新開始寫入。
-B <capture buffer size (Win32 only)>
僅適合Win32:設置文件緩衝大小(單位是MB,默認是1MB).被捕捉驅動用來緩衝包數據,直到達到緩衝大小才寫入磁盤。如果捕捉時碰到丟包現象,可以嘗試增大它的大小。
-c <capture packet count>
實時捕捉中指定捕捉包的最大數目,它通常在連接詞-k選項中使用。
-D
打印可以被Wireshark用於捕捉的接口列表。每個接口都有一個編號和名稱(可能緊跟在接口描述之後?)會被打印,接口名或接口編號可以提供給-i參數來指定進行捕捉的接口(這裡打印應該是說在屏幕上打印)
在那些沒有命令可以顯示列表的平台(例如Windows,或者缺少ifconfig -a命令的UNIX平台)這個命令很有用;接口編號在Windows 2000及後續平台的接口名稱通常是一些複雜字符串,這時使用接口編號會更方便點。
注意,"可以被Wireshark用於捕捉"意思是說:Wireshark可以打開那個設備進行實時捕捉;如果在你的平台進行網絡捕捉需要使用有特殊權限的帳號(例如rootWindows下的Administrators),在沒有這些權限的賬戶下添加-D不會顯示任何接口。參數
-f <capture filter>
設置捕捉時的內置過濾表達式
-g <packet number>
在使用-r參數讀取捕捉文件以後,使用該參數跳轉到指定編號的包。
-h
-h選項請求Wireshark打印該版本的命令使用方法(前面顯示的),然後退出。
-i <capture interface>
設置用於進行捕捉的接口或管道。
網絡接口名稱必須匹配Wireshark -D中的一個;也可以使用Wireshark -D顯示的編號,如果你使用UNIX, netstat -i或者ifconfig -a獲得的接口名也可以被使用。但不是所有的UNIX平台都支持a , ifconfig參數。
如果未指定參數,Wireshark會搜索接口列表,選擇第一個非環回接口進行捕捉,如果沒有非環回接口,會選擇第一個環回接口。如果沒有接口,wireshark會報告錯誤,不執行捕捉操作。
管道名即可以是FIFO(已命名管道),也可以使用"-"讀取標準輸入。從管道讀取的數據必須是標準的libpcap格式。
-k
-k選項指定Wireshark立即開始捕捉。這個選項需要和-i參數配合使用來指定捕捉產生在哪個接口的包。
-l
打開自動滾屏選項,在捕捉時有新數據進入,會自動翻動"Packet list"面板(同-S參數一樣)。
-m <font>
設置顯示時的字體(編者認為應該添加字體範例)
-n
顯示網絡對象名字解析(例如TCP,UDP端口名,主機名)
-N <name resolving flags>
對特定類型的地址和端口號打開名字解析功能;該參數是一個字符串,使用m可以開啟MAC地址解析,n開啟網絡地址解析,t開啟傳輸層端口號解析。這些字符串在-n-N參數同時存在時優先級高於-n,字母C開啟同時(異步)DNS查詢。
-o <preference/recent settings>
設置首選項或當前值,覆蓋默認值或其他從Preference/recent file讀取的參數、文件。該參數的值是一個字符串,形式為prefname:value,prefnmae是首選項的選項名稱(出現在preference/recent file上的名稱)value是首選項參數對應的值。多個-o <preference settings>  可以使用在單獨命中中。
設置單獨首選項的例子:
wireshark -o mgcp.display_dissect_tree:TRUE
設置多個首選項參數的例子:
 wireshark -o mgcp.display_dissect_tree:TRUE -o mgcp.udp.callagent_port:2627

-p
不將接口設置為雜收模式。注意可能因為某些原因依然出於雜收模式;這樣,-p不能確定接口是否僅捕捉自己發送或接受的包以及到該地址的廣播包,多播包
-Q
禁止Wireshark在捕捉完成時退出。它可以和-c選項一起使用。他們必須在出現在-i -w連接詞中。
-r <infile>
指定要讀取顯示的文件名。捕捉文件必須是Wireshark支持的格式。
-R <read(display) filter>
指定在文件讀取後應用的過濾。過濾語法使用的是顯示過濾的語法,,不匹配的包不會被顯示。
-s <capture snaplen>
設置捕捉包時的快照長度。Wireshark屆時僅捕捉每個包<snaplen>字節的數據。
-S
Wireshark在捕捉數據後立即顯示它們,通過在一個進程捕捉數據,另一個進程顯示數據。這和捕捉選項對話框中的"Update list of packets in real time/實時顯示數據"功能相同。
-t <time stamp format>
設置顯示時間戳格式。可用的格式有
  • 相對的,設置所有包時間戳顯示為相對於第一個包的時間。
  • a  absolute,設置所有包顯示為絕對時間。
  • ad  絕對日期,設置所有包顯示為絕對日期時間。
  • d  delta設置時間戳顯示為相對於前一個包的時間
  • e  epoch設置時間戳顯示為從epoch起的妙數(19701100:00:00)
-v
請求Wireshark打印出版本信息,然後退出
-w <savefile>
在保存文件時以savefile所填的字符為文件名。
-y <capture link type>
如果捕捉時帶有-k參數,-y將指定捕捉包中數據鏈接類型。The values​​ reported by -L are the values​​ that can be used.
-X <eXtension option>
設置一個選項傳送給TShark 模塊。eXtension 選項使用extension_key:值形式,extension_key:可以是:
lua _script:lua_script_filename,它告訴Wireshark載入指定的腳本。默認腳本是Lua scripts.
-z <statistics-string>
得到Wireshark的多種類型的統計信息,顯示結果在實時更新的窗口。

沒有留言: