Linux-網路分析-tcpdump__Linux
最後更新:2018-07-27
來源:互聯網
上載者:User
前邊對netstat展開過分析與描述,在linux下 ,那還有其他分析工具嘛。 tcpdump是
Linux 命令列下常用的的一個抓包工具,記錄一下平時常用的方式,
mac os 。 tcpdump這個功能參數很多,運算式的選項也非常多,非常強大,不過常用的功能確實不多。詳情可以通過man查看系統手冊。
在用戶端開發的時候,可以使用fiddler或者charles進行抓包分析,更方便吧。
在2g網下或非wifi下,想抓包調試,tcpdump+wireshark,這個組合很不錯~ Wireshark (前稱Ethereal)是一個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並儘可能顯示出最為詳細的網路封包資料。 一. tcpdump案例
tcpdump的參數眾多
,如下
(乙太網路網狀圖中eth1/0/10 代表網卡一,網卡二,網卡三 lo代表127.0.0.1,即localhost)
二. tcpdump常用操作
預設啟動 tcpdump
監視指定網路介面的資料包 tcpdump -i eth1 如果不指定網卡,預設tcpdump只會監視第一個網路介面,一般是eth0,下面的例子都沒有指定網路介面。
監聽指定的主機 $ tcpdump -i eth0 -nn 'host 192.168.1.231' 這樣的話,192.168.1.231這台主機接收到的包和發送的包都會被抓取。 $ tcpdump -i eth0 -nn 'src host 192.168.1.231' 這樣只有192.168.1.231這台主機發送的包才會被抓取。 $ tcpdump -i eth0 -nn 'dst host 192.168.1.231' 這樣只有192.168.1.231這台主機接收到的包才會被抓取。
監聽指定連接埠 $ tcpdump -i eth0 -nnA 'port 80' 上例是用來監聽主機的80連接埠收到和發送的所有資料包,結合-A參數,在web開發中,真是非常有用。
監聽指定主機和連接埠 $ tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.231' 多個條件可以用and,or串連。上例表示監聽192.168.1.231主機通過80連接埠發送的資料包。
監聽除某個連接埠外的其它連接埠 $ tcpdump -i eth0 -nnA '!port 22' 如果需要排除某個連接埠或者主機,可以使用“!”符號,上例表示監聽非22連接埠的資料包。
三.其他 前邊敘述過netstat相關分析,那麼他們啥區別呢。 tcpdump程式 tcpdump一邊從網路讀入分組一邊顯示關於這些分組的大量資訊。它還能夠只顯示與所指定的準則匹配的那些分組。
netstat程式 netstat服務於多個目的: (1)展示網路端點的狀態。 (2)展示某個主機上各個介面所屬的多播組。 (3)使用-s選項顯示各個協議的統計資訊。 (4)使用-r選項顯示路由表或使用-i選項顯示介面資訊。
lsof程式 名字lsof代表“list open files”,即列出開啟的檔案。 lsof的常見用途之一是找出哪個進程在指定的IP地址或連接埠號碼上開啟了一個套介面。netstat告訴我們哪些IP地址和連接埠正在使用中以及各個TCP串連的狀態,卻沒有標識相應的進程。lsof彌補這個缺陷。
相關文章:
tcpdump&wireshark初次使用總結 : http://www.51testing.com/html/34/361634-938657.html
Linux下抓包工具tcpdump使用 : http://blog.csdn.net/gzh0222/article/details/8239196
Linux使用tcpdump抓取網路資料包樣本
: http://blog.csdn.net/kobejayandy/article/details/17208137/
本文地址: