木馬是一種帶有惡意性質的遠端控制軟體,木馬一般分為用戶端(Client)和伺服器端(Server),用戶端就是本地使用的各種命令的控制台,伺服器端則是給別人運行,只有運行過伺服器端的電腦才能夠完全受控.
當前最為常見的木馬通常是基於TCP/UDP協議進行client端與server端之間的通訊的,既然利用到這兩個協議,就不可避免要在server端(就是被種了木馬的機器了)開啟監聽連接埠來等待串連.例如鼎鼎大名的冰河使用的監聽連接埠是7626,Back Orifice 2000則是使用54320等等.那麼,我們可以利用查看本機開放連接埠的方法來檢查自己是否被種了木馬或其它hacker程式.以下是詳細方法介紹.
Windows本身內建的netstat命令
Netstat顯示協議統計和當前的 TCP/IP 網路連接.該命令只有在安裝了 TCP/IP 協議後才可以使用.
netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
參數
-a 顯示所有串連和偵聽連接埠.伺服器串連通常不顯示.
-e 顯示乙太網路統計.該參數可以與 -s 選項結合使用.
-n 以數字格式顯示地址和連接埠號碼(而不是嘗試尋找名稱).
-s 顯示每個協議的統計.預設情況下,顯示 TCP、UDP、ICMP 和 IP 的統計.-p 選項可以用來指定預設的子集.
-p protocol 顯示由 protocol 指定的協議的串連;protocol 可以是 tcp 或 udp.如果與 -s 選項一同使用顯示每個協議的統計,protocol 可以是 tcp、udp、icmp 或 ip.
-r 顯示路由表的內容.
interval 重新顯示所選的統計,在每次顯示之間暫停 interval 秒.按 CTRL+B 停止重新顯示統計.如果省略該參數,netstat 將列印一次當前的配置資訊.
現在,我們掌握netstat命令的使用方法了,下面就讓我們現學現用,用這個命令看一下自己的機器開放的連接埠.進入到命令列下,使用netstat命令的a和n兩個參數:
C:netstat -a -n
Active Connections
Proto Local ADDRess Foreign Address State
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7626 0.0.0.0:0 LISTENING
UDP 0.0.0.0:445 0.0.0.0:0
UDP 0.0.0.0:1046 0.0.0.0:0
UDP 0.0.0.0:1047 0.0.0.0:0
解釋一下,Active Connections是指當前本機活動串連,Proto是指串連使用的協議名稱,Local Address是本機電腦的 IP 位址和串連正在使用的連接埠號碼,Foreign Address是串連該連接埠的遠端電腦的 IP 位址和連接埠號碼,State則是表明TCP 串連的狀態,你可以看到後面三行的監聽連接埠是UDP協議的,所以沒有State表示的狀態.通過以上可以看出該機器的7626連接埠已經開放,正在監聽等待串連,像這樣的情況極有可能是已經感染了冰河!所以應該急忙斷開網路,並用殺毒軟體查殺病毒.