netstat命令詳解
Netstat用於顯示與IP、TCP、UDP和ICMP協議相關的統計資料,一般用於檢驗本機各連接埠的網路連接情況。
如果我們的電腦有時候接受到的資料報會導致出錯資料刪除或故障,我們不必感到奇怪,TCP/IP可以容許這些類型的錯誤,並能夠自動重發資料報。但如果累計的出錯情況數目佔到所接收的IP資料報相當大的百分比,或者它的數目正迅速增加,那麼我們就應該使用Netstat查一查為什麼會出現這些情況了。
1、netstat 的一些常用選項
·netstat –s
本選項能夠按照各個協議分別顯示其統計資料。如果我們的應用程式(如Web瀏覽器)運行速度比較慢,或者不能顯示Web頁之類的資料,那麼我們就可以用本選項來查看一下所顯示的資訊。我們需要仔細查看統計資料的各行,找到出錯的關鍵字,進而確定問題所在。
·netstat –e
本選項用於顯示關於乙太網路的統計資料。它列出的項目包括傳送的資料報的總位元組數、錯誤數、刪除數、資料報的數量和廣播的數量。這些統計資料既有發送的資料報數量,也有接收的資料報數量。這個選項可以用來統計一些基本的網路流量)。
·netstat –r
本選項可以顯示關於路由表的資訊,類似於後面所講使用route print命令時看到的 資訊。除了顯示有效路由外,還顯示當前有效串連。
·netstat –a
本選項顯示一個所有的有效串連資訊列表,包括已建立的串連(ESTABLISHED),也包括監聽串連請求(LISTENING)的那些串連。
·netstat –n
顯示所有已建立的有效串連。
下面是 netstat 的輸出樣本:
C:/>netstat -e
Interface Statistics
ReceivedSent
Bytes399583794047224622
Unicast packets120099131015
Non-unicast packets7579544 3823
Discards 0 0
Errors 0 0
Unknown protocols363054211
C:/>netstat -a
Active Connections
Proto Local AddressForeign Address State
TCPCORP1:1572 172.16.48.10:nbsession ESTABLISHED
TCPCORP1:1589 172.16.48.10:nbsession ESTABLISHED
TCPCORP1:1606 172.16.105.245:nbsession ESTABLISHED
TCPCORP1:1632 172.16.48.213:nbsessionESTABLISHED
TCPCORP1:1659 172.16.48.169:nbsessionESTABLISHED
TCPCORP1:1714 172.16.48.203:nbsessionESTABLISHED
TCPCORP1:1719 172.16.48.36:nbsession ESTABLISHED
TCPCORP1:1241 172.16.48.101:nbsessionESTABLISHED
UDPCORP1:1025 *:*
UDPCORP1:snmp *:*
UDPCORP1:nbname *:*
UDPCORP1:nbdatagram *:*
UDPCORP1:nbname *:*
UDPCORP1:nbdatagram *:*
C:/>netstat -s
IP Statistics
Packets Received = 5378528
Received Header Errors = 738854
Received Address Errors= 23150
Datagrams Forwarded= 0
Unknown Protocols Received = 0
Received Packets Discarded = 0
Received Packets Delivered = 4616524
Output Requests= 132702
Routing Discards = 157
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required= 0
Reassembly Successful = 0
Reassembly Failures =
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0
ICMP Statistics
ReceivedSent
Messages 693 4
Errors 0 0
Destination Unreachable685 0
Time Exceeded0 0
Parameter Problems 0 0
Source Quenches0 0
Redirects0 0
Echoes 4 0
Echo Replies 0 4
Timestamps 0 0
Timestamp Replies0 0
Address Masks0 0
Address Mask Replies 0 0
TCP Statistics
Active Opens = 597
Passive Opens= 135
Failed Connection Attempts = 107
Reset Connections= 91
Current Connections= 8
Segments Received= 106770
Segments Sent= 118431
Segments Retransmitted = 461
UDP Statistics
Datagrams Received = 4157136
No Ports = 351928
ReceiveErrors = 2
Datagrams Sent = 13809
2、Netstat的妙用
經常上網的人一般都使用ICQ的,不知道我們有沒有被一些討厭的人騷擾,想投訴卻又不知從和下手?其實,我們只要知道對方的IP,就可以向他所屬的ISP投訴了。但怎樣才能通過ICQ知道對方的IP呢?如果對方在設定ICQ時選擇了不顯示IP地址,那我們是無法在資訊列中看到的。其實,我們只需要通過Netstat就可以很方便的做到這一點:當他通過ICQ或其他的工具與我們相連時(例如我們給他發一條ICQ資訊或他給我們發一條資訊),我們立刻在DOS 命令提示字元下輸入netstat -n或netstat -a就可以看到對方上網時所用的IP或ISP網域名稱了,甚至連所用Port都完全暴露了。
ftp命令詳解
FTP命令是Internet使用者使用最頻繁的命令之一,不論是在DOS還是UNIX操 作系統下使用FTP,都會遇到大量的FTP內部命令。 熟悉並靈活應用FTP的內部 命令,可以大大方便使用者,並收到事半功倍之效。
FTP的命令列格式為: ftp -v -d -i -n -g [主機名稱] ,其中 -v 顯示遠程伺服器的所有響應資訊; -n 限制ftp的自動登入,即不使用; .n etrc檔案; -d 使用調試方式; -g 取消通用檔案名。
ftp使用的內部命令如下(中括弧表示可選項):
1.![cmd[args]]:在本地機中執行互動shell,exit回到ftp環境,如: !ls*.zip.
2.$ macro-ame[args]:執行宏定義macro-name.
3.account[password]:提供登入遠程系統成功後訪問系統資源所需的補 充口令。
4.append local-file[remote-file]:將本地檔案追加到遠程系統主機, 若未指定遠程系統檔案名稱,則使用本地檔案名稱。
5.ascii:使用ascii類型傳輸方式。
6.bell:每個命令執行完畢後電腦響鈴一次。
7.bin:使用二進位檔案傳輸方式。
8.bye:退出ftp會話過程。
9.case:在使用mget時,將遠程主機檔案名稱中的大寫轉為小寫字母。
10.cd remote-dir:進入遠程主機目錄。
11.cdup:進入遠程主機目錄的父目錄。
12.chmod mode file-name:將遠程主機檔案file-name的存取方式設定為 mode,如: chmod 777 a.out 。
13.close:中斷與遠程伺服器的ftp會話(與open對應)。
14.cr:使用asscii方式傳輸檔案時,將斷行符號換行轉換為回行。
15.delete remote-file:刪除遠程主機檔案。
16.debug[debug-value]:設定調試方式, 顯示發送至遠程主機的每條命 令,如: deb up 3,若設為0,表示取消debug。
17.dir[remote-dir][local-file]:顯示遠程主機目錄,並將結果存入本 地檔案local-file。
18.disconnection:同close。
19.form format:將檔案傳輸方式設定為format,預設為file方式。
20.get remote-file[local-file]: 將遠程主機的檔案remote-file傳至 本地硬碟的local-file。
21.glob:設定mdelete,mget,mput的檔案名稱擴充,預設時不擴充檔案名稱, 同命令列的-g參數。
22.hash:每傳輸1024位元組,顯示一個hash符號(#)。
23.help[cmd]:顯示ftp內部命令cmd的協助資訊,如:help get。
24.idle[seconds]:將遠程伺服器的休眠計時器設為[seconds]秒。
25.image:設定二進位傳輸方式(同binary)。
26.lcd[dir]:將本地工作目錄切換至dir。
27.ls[remote-dir][local-file]:顯示遠程目錄remote-dir, 並存入本 地檔案local-file。
28.macdef macro-name:定義一個宏,遇到macdef下的空行時,宏定義結 束。
29.mdelete[remote-file]:刪除遠程主機檔案。
30.mdir remote-files local-file:與dir類似,但可指定多個遠程檔案, 如: mdir *.o.*.zipoutfile 。
31.mget remote-files:傳輸多個遠程檔案。
32.mkdir dir-name:在遠程主機中建一目錄。
33.mls remote-file local-file:同nlist,但可指定多個檔案名稱。
34.mode[modename]:將檔案傳輸方式設定為modename, 預設為stream方 式。
35.modtime file-name:顯示遠程主機檔案的最後修改時間。
36.mput local-file:將多個檔案傳輸至遠程主機。
37.newer file-name: 如果遠程機中file-name的修改時間比本地硬碟同 名檔案的時間更近,則重傳該檔案。
38.nlist[remote-dir][local-file]:顯示遠程主機目錄的檔案清單,並 存入本地硬碟的local-file。
39.nmap[inpattern outpattern]:設定檔案名稱映射機制, 使得檔案傳輸 時,檔案中的某些字元相互轉換,如:nmap $1.$2.$3[$1,$2].[$2,$3],則 傳輸檔案a1.a2.a3時,檔案名稱變為a1,a2。該命令特別適用於遠程主機為非UNIX 機的情況。
40.ntrans[inchars[outchars]]:設定檔案名稱字元的翻譯機制,如ntrans 1R,則檔案名稱LLL將變為RRR。
41.open host[port]:建立指定ftp伺服器串連,可指定串連連接埠。
42.passive:進入被動傳輸方式。
43.prompt:設定多個檔案傳輸時的互動提示。
44.proxy ftp-cmd:在次要控制串連中,執行一條ftp命令, 該命令允許 串連兩個ftp伺服器,以在兩個伺服器間傳輸檔案。第一條ftp命令必須為open, 以首先建立兩個伺服器間的串連。
45.put local-file[remote-file]:將本地檔案local-file傳送至遠程主 機。
46.pwd:顯示遠程主機的當前工作目錄。
47.quit:同bye,退出ftp會話。
48.quote arg1,arg2...:將參數逐字發至遠程ftp伺服器,如: quote syst.
49.recv remote-file[local-file]:同get。
50.reget remote-file[local-file]:類似於get,但若local-file存在, 則從上次傳輸中斷處續傳。
51.rhelp[cmd-name]:請求獲得遠程主機的協助。
52.rstatus[file-name]:若未指定檔案名稱,則顯示遠程主機的狀態,否 則顯示檔案狀態。
53.rename[from][to]:更改遠程主機檔案名稱。
54.reset:清除回答隊列。
55.restart marker:從指定的標誌marker處,重新開始get或put,如: restart 130。
56.rmdir dir-name:刪除遠程主機目錄。
57.runique:設定檔案名稱唯一性儲存,若檔案存在,則在原檔案後加尾碼 ..1,.2等。
58.send local-file[remote-file]:同put。
59.sendport:設定PORT命令的使用。
60.site arg1,arg2...:將參數作為SITE命令逐字發送至遠程ftp主機。
61.size file-name:顯示遠程主機檔案大小,如:site idle 7200。
62.status:顯示當前ftp狀態。
63.struct[struct-name]:將檔案傳輸結構設定為struct-name, 預設時 使用stream結構。
64.sunique:將遠程主機檔案名稱儲存設定為唯一(與runique對應)。
65.system:顯示遠程主機的作業系統類型。
66.tenex:將檔案傳輸類型設定為TENEX機的所需的類型。
67.tick:設定傳輸時的位元組計數器。
68.trace:設定包跟蹤。
69.type[type-name]:設定檔案傳輸類型為type-name,預設為ascii,如: type binary,設定二進位傳輸方式。
70.umask[newmask]:將遠程伺服器的預設umask設定為newmask,如: umask 3。
71.user user-name[password][account]:向遠程主機表明自己的身份, 需要口令時,必須輸入口令,如:user anonymous my@email。
72.verbose:同命令列的-v參數,即設定詳盡報告方式,ftp伺服器的所有 響應都將顯示給使用者,預設為on.
73.?[cmd]:同help.
arp命令詳解
Arp
顯示和修改“位址解析通訊協定 (ARP)”緩衝中的項目。ARP 緩衝中包含一個或多個表,它們用於儲存 IP 地址及其經過解析的乙太網路或令牌環物理地址。電腦上安裝的每一個乙太網路或令牌環網路介面卡都有自己單獨的表。如果在沒有參數的情況下使用,則 arp 命令將顯示協助資訊。
文法
arp[-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]
參數
-a[ InetAddr] [ -N IfaceAddr]
顯示所有介面的當前 ARP 緩衝表。要顯示特定 IP 地址的 ARP 快取項目,請使用帶有 InetAddr 參數的 arp -a,此處的 InetAddr 代表 IP 地址。如果未指定 InetAddr,則使用第一個適用的介面。要顯示特定介面的 ARP 緩衝表,請將 -N IfaceAddr 參數與 -a 參數一起使用,此處的 IfaceAddr 代表指派給該介面的 IP 地址。-N 參數區分大小寫。
-g[ InetAddr] [ -N IfaceAddr]
與 -a 相同。
-d InetAddr [IfaceAddr]
刪除指定的 IP 地址項,此處的 InetAddr 代表 IP 地址。對於指定的介面,要刪除表中的某項,請使用 IfaceAddr 參數,此處的 IfaceAddr 代表指派給該介面的 IP 地址。要刪除所有項,請使用星號 (*) 萬用字元代替 InetAddr。
-s InetAddr EtherAddr [IfaceAddr]
向 ARP 緩衝添加可將 IP 地址 InetAddr 解析成物理地址 EtherAddr 的靜態項。要向指定介面的表添加靜態 ARP 快取項目,請使用 IfaceAddr 參數,此處的 IfaceAddr 代表指派給該介面的 IP 地址。
/?
在命令提示字元下顯示協助。
注釋
? InetAddr 和 IfaceAddr 的 IP 地址用帶圓點的十進位記數法表示。
? EtherAddr 的物理地址由六個位元組組成,這些位元組用十六進位記數法表示並且用連字號隔開(比如,00-AA-00-4F-2A-9C)。
? 通過 -s 參數添加的項屬於靜態項,它們不會 ARP 緩衝逾時。如果終止 TCP/IP 協議後再啟動,這些項會被刪除。要建立永久的靜態 ARP 快取項目,請將適當的 arp 命令置於批次檔中,並使用“任務計劃”在啟動時運行該批次檔。
樣本
要顯示所有介面的 ARP 緩衝表,可鍵入:
arp -a
對於指派的 IP 地址為 10.0.0.99 的介面,要顯示其 ARP 緩衝表,可鍵入:
arp -a -N 10.0.0.99
要添加將 IP 地址 10.0.0.80 解析成物理地址 00-AA-00-4F-2A-9C 的靜態 ARP 快取項目,可鍵入:
arp -s 10.0.0.80 00-AA-00-4F-2A-9C