在Windows的控制視窗中(Windows 95/98/ME的command解釋器、Windows NT/2000的cmd解釋器),運行ping可以看到這個命令的說明,它是一個探測本地電腦和遠程電腦之間信息傳送速度的命令,這個命令需要TCP/IP協定的支持,ping將會計算一條信息從本地傳送到遠程再返回所需要的時間,黑客使用這個命令決定是否對伺服器進行攻擊,因為連線速度過慢會浪費時間、花費過多的上網費用。
另外這個命令還可以透過域名找到對方伺服器的IP位址,我們知道域名只是提供給瀏覽網頁用的,當我們看到一個不錯的域名地址後,要想通過telnet連線它,就必須知道對方的IP位址,這裡也要使用ping命令的。
這個命令的基本使用格式可以通過直接運行ping獲得,現在假設目標是http://www.abc.com/,則可以在控制台下輸入ping www.abc.com,經過等待會得到如下信息:
Pinging www.abc.com [204.202.136.32] with 32 bytes of data:
Reply from 204.202.136.32: bytes=32 time=302ms TTL=240
Reply from 204.202.136.32: bytes=32 time=357ms TTL=240
Reply from 204.202.136.32: bytes=32 time=288ms TTL=240
Reply from 204.202.136.32: bytes=32 time=274ms TTL=240
Ping statistics for 204.202.136.32:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 274ms, Maximum = 357ms, Average = 305ms
這些信息的意思是:www.abc.com的IP位址是204.202.136.32,對他傳送了四次數據包,數據包的大小是32位元組,每一次返回的時間分別是302ms、357ms、288ms、274ms。綜合看,傳送了四個數據包全部返回,最小時間是274ms,最大時間357ms,他們的平均時間是305ms。
這樣黑客就了解了連線對方伺服器使用的時間。另外這個命令還有一些特殊的用法,例如可以通過IP位址反查伺服器的NetBIOS名,現在以211.100.8.87為例,使用ping配合“-a”,在控制台下輸入命令ping -a 211.100.8.87,它的返回結果是:
Pinging POPNET-FBZ9JDFV [211.100.8.87] with 32 bytes of data:
Reply from 211.100.8.87: bytes=32 time=96ms TTL=120
Reply from 211.100.8.87: bytes=32 time=110ms TTL=120
Reply from 211.100.8.87: bytes=32 time=110ms TTL=120
Reply from 211.100.8.87: bytes=32 time=109ms TTL=120
Ping statistics for 211.100.8.87:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 96ms, Maximum = 110ms, Average = 106ms
從這個結果會知道伺服器的NetBIOS名稱是POPNET-FBZ9JDFV。另外在一般情況下還可以通過ping對方讓對方返回給你的TTL值大小,粗略的判斷目標主機的系統類型是Windows系列還是UNIX/Linux系列,一般情況下Windows系列的系統返回的TTL值在100-130之間,而UNIX/Linux系列的系統返回的TTL值在240-255之間,例如上面的www.abc.com返回的TTL是240,對方的系統很可能是Linux,而第二個目標的TTL是120,那么說明它使用的系統也許是Windows。
另外ping還有很多靈活的套用,我不在這裡過多的介紹,讀者請另行查閱此命令相關幫助檔案。
二、net命令:
NET命令是很多網路命令的集合,在Windows ME/NT/2000內,很多網路功能都是以net命令為開始的,通過net help可以看到這些命令的詳細介紹:
NET CONFIG 顯示系統網路設定
NET diag 運行MS的DIAGNOSTICS程式顯示網路的DIAGNOSTIC信息
NET HELP 顯示幫助信息
NET INIT 不通過綁定來載入協定或網卡驅動
NET Logoff 下線的共享資源
NET LOGON 在WORKGROUP中登入
NET PASSWORD 改變系統登入密碼
NET PRINT 顯示或控制列印作業及列印佇列
NET START 啟動服務,或顯示已啟動服務的列表
NET STOP 停止網路服務
NET TIME 使計算機的時鐘與另一台計算機或域的時間同步
NET USE 連線計算機或斷開計算機與共享資源的連線,或顯示計算機的連線信息
NET VER 顯示區域網路內正在使用的網路連線類型和信息
NET VIEW 顯示域列表、計算機列表或指定計算機的共享資源列表
這些命令在Win95/98中支持的比較少,只有幾個基本常見的,而在NT或者2000中又元元多於上面的介紹,不過大多數對於初學者也沒有必要掌握,所以我選擇了WindowsME進行介紹,其中最常用到的是NET VIEW和NET USE,通過者兩個命令,學習者可以連線網路上開放了遠程共享的系統,並且獲得資料。這種遠程共享本來是為便捷操作設計的,但是很多網路管理員忽視了它的安全性,所以造成了很多不應該共享的信息的暴露,對於學習者來說,則可以輕易獲得它人電腦上的隱私資料。
例如在控制台下輸入net view \\202.96.50.24則可以獲得對應IP的系統已分享資料夾,進而找到他們的已分享檔案,當然這需要202.96.50.24系統的確存在已分享資料夾,具體如何找到這些存在共享的系統,我將會在後面的文章中進行介紹。
三、telnet和ftp命令:
這兩個命令分別可以遠程對系統進行telnet登入和ftp登入,兩種登入使用的不同的協定,分別屬於兩種不同的網路服務,ftp是遠程檔案共享服務,也就是說學習者可以將自己的資料上傳、下載,但是它並沒有過多的權利,無法在遠程電腦上執行上傳的檔案;而telnet則屬於遠程登入服務,也就是說可以登入到遠程系統上,並獲得一個解釋器許可權,擁有解釋器就意味著擁有了一定的許可權,這種許可權可能是基本的檔案操作、也可能是可以控制系統的管理員許可權。
四、netstat命令:
這個程式有助於我們了解網路的整體使用情況。它可以顯示當前正在活動的網路連線的詳細信息,如採用的協定類型、當前主機與遠端相連主機(一個或多個)的IP位址以及它們之間的連線狀態等。 使用netstat ?可以顯示它的命令格式和參數說明:
netstat [-a] [-e] [-n] [-s] [-p proto] [-r] [interval] 其中的參數說明如下:
-a 顯示所有主機的連線埠號;
-e 顯示乙太網統計信息;
-n 以數字表格形式顯示地址和連線埠;
-p proto 顯示特定的協定的具體使用信息;
-r 顯示本機路由表的內容;
-s 顯示每個協定的使用狀態(包括TCP、UDP、IP);
interval 重新顯示所選的狀態,每次顯示之間的間隔數(單位秒)。
netstat命令的主要用途是檢測本地系統開放的連線埠,這樣做可以了解自己的系統開放了什麼服務、還可以初步推斷系統是否存在木馬,因為常見的網路服務開放的默認連線埠輕易不會被木馬占用,例如:用於FTP(檔案傳輸協定)的連線埠是21;用於TELNET(遠程登錄協定)的連線埠是23;用於SMTP(郵件傳輸協定)的連線埠是25;用於DNS(域名服務,即域名與IP之間的轉換)的連線埠是53;用於HTTP(超文本傳輸協定)的連線埠是80;用於POP3(電子郵件的一種接收協定)的連線埠是110;WINDOWS中開放的連線埠是139,除此以外,如果系統中還有其他陌生的到口,就可能是木馬程式使用的了。通過netstat或者netstat -a可以觀察開放的連線埠,如果發現下面的連線埠,就說明已經有木馬程式在系統中存在:
31337號連線埠是BackOffice木馬的默認連線埠;1999是Yai木馬程式;2140或者3150都是DEEP THROAT木馬使用的連線埠;還有NETBUS、冰河或者Sub7等木馬程式都可以自定義連線埠,因此發現了陌生連線埠一定要提高警惕,使用防火牆或者查病毒軟體進行檢測。
五、tracert命令:
這個命令的功能是判定數據包到達目的主機所經過的路徑、顯示數據包經過的中繼節點清單和到達時間。tracert命令的格式如下:
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
命令行中的參數-d是要求tracert不對主機名進行解析,-h是指定搜尋到目的地址的最大輪數,-j的功能是沿著主機列表釋放源路由,-w用來設定逾時時間間隔。
通過tracert可以判斷一個伺服器是屬於國內還是國際(網路伺服器的物理未知不能依靠域名進行判斷),根據路由路經可以判斷信息從自己的系統傳送到網路上,先後經過了哪些IP到大對方伺服器,這就好像乘公共汽車的時候從起點出發到達終點站的時候,中途會出現很多路牌一個道理,我們清楚了自己的信息的傳送路徑,才能夠更清晰的了解網路、對伺服器進行攻擊。
六、WINIPCFG:
winipcfg和ipconfig都是用來顯示主機內IP協定的配置信息。只是winipcfg適用於Windows 95/98,而ipconfig適用於Windows NT。winipcfg不使用參數,直接運行它,它就會採用Windows視窗的形式顯示具體信息。這些信息包括:網路適配器的物理地址、主機的IP位址、子網掩碼以及默認網關等,點擊其中的“其他信息”,還可以查看主機的相關信息如:主機名、DNS伺服器、節點類型等。其中網路適配器的物理地址在檢測網路錯誤時非常有用。
ipconfig的命令格式如下:ipconfig [/? | /all | /release [adapter] | /renew [adapter]]
其中的參數說明如下:
使用不帶參數的ipconfig命令可以得到以下信息:IP位址、子網掩碼、默認網關。而使用ipconfig
/? 顯示ipconfig的格式和參數的英文說明;
/all 顯示所有的配置信息;
/release 為指定的適配器(或全部適配器)釋放IP位址(只適用於DHCP);
/renew 為指定的適配器(或全部適配器)更新IP位址(只適用於DHCP)。
/all,則可以得到更多的信息:主機名、DNS伺服器、節點類型、網路適配器的物理地址、主機的IP位址、子網掩碼以及默認網關等。