返回列表 回復 發帖

多功能的Netstat命令-catsun教程

作者: wen 日期: 2007-5-29 19:59 閱讀: 1014打印 收藏

多功能的Netstat命令-catsun教程


朋友們常會問著樣的問題,怎樣查別人的IP?怎樣查自己的IP呢?我系統的哪些段口是開的?我怎樣知道我的系統是否被安裝了木馬程序?

其實這些問題(還有一些相似的問題)有一個簡單的答案:Netstat命令!

微軟公司故意將這個功能強大的命令隱藏起來是因為它對於普通用戶來說有些複雜。

Netstat可以在MSDOS命令窗口下打開。

C:windows

C:>

大多數Windows用戶的默認目錄是Windows目錄,如果不是,上面的命令將打開Windows目錄。

好,在我們繼續之前,我們要先知道Netstat是到底用來做什麼的,它可以用來獲得你的系統網絡連接的信息(使用的端口,在使用的協議等 ),收到和發出的數據,被連接的遠程系統的端口,Netstat在內存中讀取所有的網絡信息。

在Internet RFC標準中,Netstat的定義是:

「Netstat是在內核中訪問網絡及相關信息的程序,它能提供TCP連接,TCP和UDP監聽,進程內存管理的相關報告」。

現在我們在對Netstat有了一定的瞭解之後就可以來使用它了,如果你打開了DOS窗口,你可以用以下命令來獲取有關Netstat的幫助信息。

C:>netstat /?

-a Displays all connections and listening ports. (Server-side connections are normally not shown).

-e Displays Ethernet statistics. This may be combined with the -s option.

-n Displays addresses and port numbers in numerical form.

-p proto Shows connections for the protocol specified by proto; proto may be tcp or udp. If used with the -s option to display per-protocol statistics, proto may be tcp, udp, or ip.

-r Displays the contents of the routing table.

-s Displays per-protocol statistics. By default, statistics are shown for TCP, UDP and IP; the -p

option may be used to specify a subset of the default.interval Redisplays selected statistics, pausing interval seconds between each display. Press CTRL+C to stop redisplaying statistics. If omitted, netstat will print the current configuration information once.

以上的信息僅僅是個參考,對於好奇心很強的您來說,是遠遠不夠的。

那好,讓我們試試每個命令並查看結果,用來理解當我們執行命令後發生了什麼,顯示出的信息是什麼意思?


首先,我們使用Netstat的-a參數命令。

-a參數用來顯示在本地機器上的外部連接,它也顯示我們遠程所連接的系統,本地和遠程系統連接時使用的端口,和本地和遠程系統連接的狀態。(type and state )

例子:
C:>netstat -a
Active Connections
ProtoLocal AddressForeign AddressState
TCPankit:1031dwarfie.box.com:ftpESTABLISHED
TCPankit:1036dwarfie.box.com:ftp-dataTIME_WAIT
TCPankit:1043banners.egroups.com:80FIN_WAIT_2
TCPankit:1045mail2.mtnl.net.in:pop3TIME_WAIT
TCPankit:1052 zztop.box.com:80 ESTABLISHED
TCPankit:1053mail2.mtnl.net.in:pop3TIME_WAIT
UDPankit:1025*:*
UDPankit:nbdatagram*:*
我們有其中一行來講解:
ProtoLocal AddressForeign AddressState
TCPankit:1031dwarfie.box.com:ftpESTABLISHED
協議(Proto):TCP(是否用詳細講解,請來信)

本地機器名(Local Address):ankit(這個是您在安裝系統時自設的,本地打開並用於連接的端口:1031)

遠程機器名(Foreign Address):dwarfie.box.com

遠程端口:ftp

狀態:ESTABLISHED


-a參數常用於獲得你的本地系統開放的端口,用它您可以自己檢查你的系統上有沒有被安裝木馬(要說一下:有很多好程序用來檢測木馬,但你的目的是想成為hacker,手工檢測要比只按一下「scan」按鈕好些----僅個人觀點)。如果您Netstat你自己的話,發現下面的信息:

Port 12345(TCP) Netbus

Port 31337(UDP) Back Orifice

祝賀!您中了最常見的木馬(我好想在廢話啊~)

如果你需要木馬列表的話,去國內的H站找找,我也有的,您要?

*****************************************************************

#一些原理:也許你有這樣的問題:「在機器名後的端口號代表什麼?」

例子:ankit:1052 

小於1024的端口通常運行一些網絡服務,大於1024的端口用來與遠程機器建立連接,比如,你的瀏覽器在建立一個與www.163.com的連接,這時你的機器將打開一個隨意的但大於1024的端口用於連接163的伺服器。

*****************************************************************
 

繼續我們的探討,使用-n參數。(Netstat -n)

Netstat -n基本上是-a參數的數字形式:

C:>netstat -n

Active Connections

Proto Local Address Foreign Address State

TCP 203.xx.251.161:1031 195.1.150.227:21 ESTABLISHED

TCP 203.xx.251.161:1043 207.138.41.181:80 FIN_WAIT_2

TCP 203.xx.251.161:1053 203.94.243.71:110 TIME_WAIT

TCP 203.xx.251.161:1058 195.1.150.227:20 TIME_WAIT

TCP 203.xx.251.161:1069 203.94.243.71:110 TIME_WAIT

TCP 203.xx.251.161:1071 194.98.93.244:80 ESTABLISHED

TCP 203.xx.251.161:1078 203.94.243.71:110 TIME_WAIT


通過比較,發現有兩點不同。

1 -n參數命令用IP地址代替機器名。

2 我不確定,但經過再三的測試,Netstat -n命令不顯示非TCP連接的數據。

-n參數通常用於查自己的IP時使用,也有些人使用他是因為他們更喜歡用數字的形式來顯示主機名。難道這就是「數字化生存」? 

得到IP等於得到一切,它是最容易使機器受到攻擊的東東,所以隱藏自己IP,獲得別人的IP對hacker來說非常重要,現在隱藏IP技術很流行,但那些隱藏工具或服務真的讓你引身嗎?答案是:它們不能使你完全隱身。下面例子用來簡單說明如何獲得IP。

OICQ或ICQ是很流行的聊天軟件(很容易在MM身上浪費時間),他們雖然不顯示用戶的IP,但都是「穿馬甲的IP地址」,用下面的方法得到其他用戶的IP。

1 看一個DOS窗口,打入Netstat -n獲得你系統已經打開的端口和遠程連接列表。

2 然後打開OICQ,給「受害者」發信息。

3 當你們還在聊天的時候,返回DOS窗口,再打入Netstat -n命令,你將發現一個顯示新連接的IP地址,這個就應該是「受害者」的IP。(也有其他的情況...)
 

到目前為止,我們討論了『-a』和『-n』及一些應用,並發現在屏幕上返回和顯示的連接不是一個詳盡的協議。這意味著它顯示了TCP連接,UDP等,假如你想看到那個連接屬於UDP連接,你需要用-p參數。

通常的Netstat的-p參數格式如下:

Netstat -p xxx

xxx可以是UDP或TCP,我們用顯示TCP連接的例子來理解如何使用-p參數。

C:>netstat -p tcp

Active Connections

Proto Local Address Foreign Address State

TCP ankit:1031 dwarfie.box.com:ftp ESTABLISHED

TCP ankit:1043 banners.egroups.com:80 FIN_WAIT_2

TCP ankit:1069 mail2.mtnl.net.in:pop3 TIME_WAIT

TCP ankit:1078 mail2.mtnl.net.in:pop3 TIME_WAIT

TCP ankit:1080 mail2.mtnl.net.in:pop3 TIME_WAIT

TCP ankit:1081 www.burstnet.com:80 FIN_WAIT_2

TCP ankit:1083 zztop.box.com:80 TIME_WAIT


這是個與-a,-n參數基本一樣的變種。讓我們繼續看-e參數。

C:>netstat -e

Interface Statistics 

Received Sent

Bytes 135121 123418

Unicast packets 419 476

Non-unicast packets 40 40

Discards 0 0

Errors 0 0

Unknown protocols 0


有些質量不好的modems不顯示輸出或接受的數據包,用這個命令可以解決這個問題,你也可以用它查看你的機器在處理TCP/IP過程中的錯誤。

我要講解最後一個參數-r,這個命令有點難理解,而且涉及到其他方面的知識,我將在其他的教程中詳細的講解。下面我僅給出例子來理解-r參數。(在電腦方面,只要我們想做,我們就會有收穫)

C:>netstat -r

Route Table 

Active Routes: 

Network Address Netmask Gateway Address Interface Metric

0.0.0.0 0.0.0.0 203.94.251.161 203.94.251.161 1

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

203.94.251.0 255.255.255.0 203.94.251.161 203.94.251.161 1

203.94.251.161 255.255.255.255 127.0.0.1 127.0.0.1 1

203.94.251.255 255.255.255.255 203.94.251.161 203.94.251.161 1

224.0.0.0 224.0.0.0 203.94.251.161 203.94.251.161 1

255.255.255.255 255.255.255.255 203.94.251.161 203.94.251.161 1


Network Address Netmask Gateway Address Interface Metric

0.0.0.0 0.0.0.0 203.94.251.161 203.94.251.161 1

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

203.94.251.0 255.255.255.0 203.94.251.161 203.94.251.161 1

203.94.251.161 255.255.255.255 127.0.0.1 127.0.0.1 1

203.94.251.255 255.255.255.255 203.94.251.161 203.94.251.161 1

224.0.0.0 224.0.0.0 203.94.251.161 203.94.251.161 1

255.255.255.255 255.255.255.255 203.94.251.161 203.94.251.161 1


Active Connections
 

Proto Local Address Foreign Address State

TCP ankit:1031 dwarfie.box.com:ftp ESTABLISHED

TCP ankit:1043 banners.egroups.com:80 FIN_WAIT_2

TCP ankit:1081 www.burstnet.com:80 FIN_WAIT_2

TCP ankit:1093 zztop.box.com:80 TIME_WAIT

TCP ankit:1094 zztop.box.com:80 TIME_WAIT

TCP ankit:1095 mail2.mtnl.net.in:pop3 TIME_WAIT

TCP ankit:1096 zztop.box.com:80 TIME_WAIT

TCP ankit:1097 zztop.box.com:80 TIME_WAIT

TCP ankit:1098 colo88.acedsl.com:80 ESTABLISHED

TCP ankit:1099 mail2.mtnl.net.in:pop3 TIME_WAIT
2005.12.04不預期遇見什麼、才可能什麼都能遇見。
如果你是會員,有任何使用上的問題,請發短訊給我(wen)
如果你是訪客的話,註冊之後可以得到完整的瀏覽權限
返回列表