不用靠其它程式就能判斷電腦都是跟哪些IP在連線
而這些連線是由哪些程式帶起來的
找出可疑的process,其它就好解決了
1. 查看 sockets(列出 active/listen connections)
netstat -a
netstat -ap tcp
也可利用 windows 內建的 find 指令
netstat -a | find "TCP"
3. 顯示 Port 號碼而非名稱
netstat -an | find "TCP"
4. 找出觸發每個 tcp 連線的 process 號碼(PID)
netstat -aop tcp
5. 找出 process 檔案名稱(配合上一步取得的 PID)
在此可採用 netstat 的 -b 參數(比較慢,參考步驟九,XP SP2、2003 SP1)
或是 tasklist (XP 專業版、2003、Vista)
6. 查看通訊協定狀態
netstat -sp tcp
netstat -sp ip
netstat -sp udp
netstat -sp icmp
7. 查看路由表 (同 route print 指令)
netstat -r
8. 查看乙太網路(網卡)狀態
netstat -e
9. 找出觸發每個 tcp 連線的 process 號碼及檔案名稱
與 tasklist 不同的是還多了相關 dll 資訊
netstat -abp tcp
10. 延續上一步,查看更詳盡資訊(速度更慢)
netstat -abvp tcp
想監控特定連線的來源或 Port,在 UNIX 中內建了不少好用的程式,組合各個小工具後更是威力無窮;Windows 在這方面雖然也有相當多類似的程式可安裝,但內建的 Netstat 用起來總是有些缺憾,在 SANS 看到這篇 Fun With Windows Netstat ,提到一些小技巧,用例子講述大家就可明瞭:
netstat –na 1 | find "特定IP"
顯示特定 IP 之連線,每隔一秒更新畫面一次 (適用於像是你已鎖定可疑對象,但不知他何時會連過來)
-a 代表列出所有連線
-n 代表僅列出 IP 及 Port,不解析為 hostname 及 service name,速度會快很多
netstat –nao 1 | find "特定IP"
加上 -o 參數可顯示觸發該連線之 process ID,
欲知 process name 則可以透過內建的 tasklist 這程式
netstat –na 1 | find "4444" | find "ESTABLISHED"
也可以針對特定 Port,不分對象的進行監控,
再透過 find "ESTABLISHED" 篩選掉僅 LISTENING 的部份
範例: 監控 tcp port 有建立成功的連線,加上 -o 參數可顯示觸發該連線之 process ID
netstat 1 -anpo tcp | find "ESTABLISHED"
關閉所有會連線的程式,如果還有出現連線記錄
根據pid到工作管理員查詢可疑的程式
沒有留言:
張貼留言