轉自:http://blog.sina.com.cn/s/blog_5919b8b10100064e.htmlhtml
Ethereal是一個很流行的開源sniffer,支持包括solaris在內的不少平臺。2006年初,主導Ethereal源碼的大牛Gerald Combs跳槽到了CACE公司。原來「Ethereal」的商標就不能用了。偉大的開源項目若是所以而over,難免同好者唏噓。怎麼辦?Combs等人只得捨棄人氣既旺的Ethereal名號,將項目改名爲Wireshark。它吸引了大多數原來Ethereal的contributor,從Ethereal的fork點0.99.1開始,繼續添加無數使人興奮的新功能。這個互聯網的放大鏡,展示給了咱們一個生動卻又枯燥,舒適伴着冷漠,充滿智慧的流量和陰謀的機關,不捨虛構而又看似真實的「以太」世界。shell
Ethereal的玩法如大多sniffer。更有趣之處在於它提供了命令行的抓包程序tethereal(如今更名爲tshark)等一系列命令行工具,可以無縫地融入unix/windows腳本語言,使嗅探、分析的工做更得強援。express
tethereal/tshark位於圖形化軟件的相同目錄內。和大多數unix腳本同樣,它都提供了比較翔實的man page(我的認爲,惋惜例子仍是少了一點)。windows
如下試驗均基於windows平臺的Wireshark,版本0.99.3。網絡
基本語法:tshark [ -a <capture autostop condition> ] ... [ -b <capture ring buffer option>] ... [ -B <capture buffer size (Win32 only)> ] [ -c <capture packet count> ] [ -d <layer type>==<selector>,<decode-as protocol> ] [ -D ] [ -f <capture filter> ] [ -F <file format> ] [ -h ] [ -i <capture interface>|- ] [ -l ] [ -L ] [ -n ] [ -N <name resolving flags> ] [ -o <preference setting> ] ... [ -p ] [ -q ] [ -r <infile> ] [ -R <read (display) filter> ] [ -s <capture snaplen> ] [ -S ] [ -t ad|a|r|d ] [ -T pdml|psml|ps|text ] [ -v ] [ -V ] [ -w <outfile>|- ] [ -x ] [ -X <eXtension option>] [ -y <capture link type> ] [ -z <statistics> ]異步
根據試驗,參數的書寫有講究。模仿tcpdump,能夠把抓包過濾表達式寫在命令的最後。通常將抓包表達式用引號quote起來(在windows上是雙引號"),一是爲了視覺方便,一是爲了逃避其中字符和shell語法的衝突(如「>」,「||」等)。抓包過濾表達式也能夠寫在-f參數的後面,注意,此時更應該使用引號或者將-f放在最後。不然,它們會認爲-f(可省)後面的參數都是表達式的一部分,而致使命令格式混亂。tcp
主要參數分類含義權做解說以下:工具
1. 抓包接口類url
2. 抓包中止條件spa
3. 文件輸出控制
4. 文件輸入
5. 處理類
6. 輸出類
7. 其它
在即時抓包模式(-r未設定)時的各參數功能一覽:
在文件讀取分析模式時的各參數功能一覽: