[RHCE] Network Monitor

NETSTAT

netstat主要的功能可以掃描本機上目前開啟的port。當某些連線服務無法正常運作時,管理者可以利用該指令查詢服務使用的port是否正常。輸入 #netstat [參數] 可以對本機端口進行觀察。
r: 列出路由表,這個參數的功能如同 #route
1411708976-2371470313_n.png-RHCE網路監視

n: 列出查詢結果時不使用主機與服務名稱,使用IP與port number。
a: 列出所有的連線狀態,包括TCP、UPD等等。
t: 列出所有TCP的連線。
u: 列出所有UDP的連線。
l: 列出監聽(Listen)中的連線。
p: 列出使用這個port的PID與程序名稱。
c: 可以設定 -c [秒數] 每幾秒更新一次資訊。

1411709274-3320950820_n.png-RHCE網路監視

在觀察netstat的查詢結果時,我們必須了解查詢出的結果代表什麼意思。
Proto: 該連線所使用的協定。
Recv-Q & Send-Q: 這個表示該連線目前的接收或者發送佇列,Q是Queue的意思。這兩個值通常必須為0,或者短暫的非0狀況也是可以接受的,但長期為非0,可能連線出現問題。Recv-Q表示本機接收的數據有多少bytes還在緩衝區,尚未被程序取走。如果一直為非0,可能主機已經遭到DOS攻擊。Send-Q表示由遠端主機所傳送而來,但不具有 ACK 標誌的總 bytes 數,例如遠端主動連線。如果為非0,可能遠端主機接收速度不夠快。
Local Address: 本地端的IP跟port。
Foreign Address: 目地端的IP跟port。
State: 該連線目前的狀態。
    ESTABLISED: 已建立連線的狀態。
    SYN_SENT: 發出主動連線 (SYN 標誌) 的連線封包。
    SYN_RECV: 接收到一個要求連線的主動連線封包。
    FIN_WAIT1: 該插槽服務已中斷,該連線正在斷線當中。
    FIN_WAIT2: 該連線已掛斷,但正在等待對方主機回應斷線確認的封包。
    TIME_WAIT: 該連線已掛斷,但 socket 還在網路上等待結束。
    LISTEN: 通常用在服務的監聽 port 。

NMAP

nmap是一套蠻有名的工具,功能剛好與netstat相反,主要功能是掃描目的端主機目前開啟的port。nmap的功能相當強大,讓網管人員可以對大量的IP做特定的掃瞄。輸入 #nmap [參數] [網址或網段] 可以對該網址或網段以指定的方式掃瞄。
sP: 使用ping的方式掃瞄指定的IP或網段,列出所有回應的結果。
sS: 使用TCP SYN掃瞄,列出有回應的遠端主機已開啟的port。
sT: 使用TCP掃瞄。
sU: 使用UDP掃瞄。
sO: 查詢目的端已開啟哪些通訊協定。
p: 可以指定特定的port做掃瞄。
A: 查詢目的端的作業系統。
v: 列出更詳細的資料。
其他還有更多的功能與組合應用,可以參考nmap的說明文件。

TCPDUMP

tcpdump與上面兩個工具不同,tcpdump更像駭客工具,tcpdump必須以root權限執行。他主要的功能可以分析封包的流向,更可以對封包的內容進行監聽。輸入 #tcpdump [參數] [條件] 可以針對自定條件進行掃瞄。
1411714779-732728846_n.png-RHCE網路監視

A: 封包的內容以ASCII的編碼顯示。
e: 使用OSI的資料連結層的MAC封包來顯示。
nn: 以IP與port顯示。
q: 封包資訊以精簡的方式顯示。
X: 列出16進位以及ASCII的封包內容。
i: 以 -i [網路介面] 的方式設定要監聽的網路介面。
w: 以 -w [檔名] 將監聽內容儲存至檔案。
r: 以 -r [檔名] 將使用w儲存的檔案讀取出來。
c: 監聽的封包數,不設定會持續監聽。
條件: 可以使用關鍵字或者邏輯運算等。
    host: 針對單部主機來進行封包擷取。
    net: 針對某個網域來進行封包的擷取。
    dst: 針對來源(src)或目標(dst)限制。
    tcp port: 針對通訊協定偵測,如 tcp, udp, arp, ether 等。
也可以利用 and 與 or 來進行封包資料的整合顯示。

留言