Netstat命令详解.docx
- 文档编号:6452151
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:15
- 大小:24.37KB
Netstat命令详解.docx
《Netstat命令详解.docx》由会员分享,可在线阅读,更多相关《Netstat命令详解.docx(15页珍藏版)》请在冰豆网上搜索。
Netstat命令详解
Netstat命令详解
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。
但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。
Netstat详细参数列表
(winXP)
C:
\>netstat/?
显示协议统计信息和当前TCP/IP网络连接。
NETSTAT[-a][-b][-e][-n][-o][-pproto][-r][-s][-v][interval]
-a显示所有连接和监听端口。
-b显示包含于创建每个连接或监听端口的可执行组件。
在某些情况下已知可
执行组件拥有多个独立组件,并且在这些情况下包含于创建连接或监听端
口的组件序列被显示。
这种情况下,可执行组件名在底部的[]中,顶部
是其调用的组件,等等,直到TCP/IP部分。
注意此选项可能需要很长时
间,如果没有足够权限可能失败。
-e显示以太网统计信息。
此选项可以与-s选项组合使用。
-n以数字形式显示地址和端口号。
-o显示与每个连接相关的所属进程ID。
-pproto显示proto指定的协议的连接;proto可以是下列协议之一:
TCP、UDP、
TCPv6或UDPv6。
如果与-s选项一起使用以显示按协议统计信息,proto
可以是下列协议之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP或
是UDPv6。
-r显示路由表。
-s显示按协议统计信息。
默认地,显示IP、
IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6的统计信息;
-p选项用于指定默认情况的子集。
-v与-b选项一起使用时将显示包含于
为所有可执行组件创建连接或监听端口的
组件。
interval重新显示选定统计信息,每次显示之间
暂停时间间隔(以秒计)。
按CTRL+C停止重新
显示统计信息。
如果省略,netstat显示当前
配置信息(只显示一次)
(win2000)
C:
\>netstat/?
DisplaysprotocolstatisticsandcurrentTCP/IPnetworkconnections.
NETSTAT[-a][-e][-n][-s][-pproto][-r][interval]
-aDisplaysallconnectionsandlisteningports.
-eDisplaysEthernetstatistics.Thismaybecombinedwiththe-s
option.
-nDisplaysaddressesandportnumbersinnumericalform.
-pprotoShowsconnectionsfortheprotocolspecifiedbyproto;proto
maybeTCPorUDP.Ifusedwiththe-soptiontodisplay
per-protocolstatistics,protomaybeTCP,UDP,orIP.
-rDisplaystheroutingtable.
-sDisplaysper-protocolstatistics.Bydefault,statisticsare
shownforTCP,UDPandIP;the-poptionmaybeusedtospecify
asubsetofthedefault.
intervalRedisplaysselectedstatistics,pausingintervalseconds
betweeneachdisplay.PressCTRL+Ctostopredisplaying
statistics.Ifomitted,netstatwillprintthecurrent
configurationinformationonce.
(linux)
[john11@john~]$netstat/?
usage:
netstat[-veenNcCF][]-rnetstat{-V|--version|-h|--help}
netstat[-vnNcaeol][...]
netstat{[-veenNac]-i[]|[-cnNe]-M|-s}[delay]
-r,--routedisplayroutingtable
-i,--interfaces=[]displayinterfacetable
-g,--groupsdisplaymulticastgroupmemberships
-s,--statisticsdisplaynetworkingstatistics(likeSNMP)
-M,--masqueradedisplaymasqueradedconnections
-v,--verbosebeverbose
-n,--numericdon'tresolvenames
--numeric-hostsdon'tresolvehostnames
--numeric-portsdon'tresolveportnames
--numeric-usersdon'tresolveusernames
-N,--symbolicresolvehardwarenames
-e,--extenddisplayother/moreinformation
-p,--programsdisplayPID/Programnameforsockets
-c,--continuouscontinuouslisting
-l,--listeningdisplaylisteningserversockets
-a,--all,--listeningdisplayallsockets(default:
connected)
-o,--timersdisplaytimers
-F,--fibdisplayForwardingInformationBase(default)
-C,--cachedisplayroutingcacheinsteadofFIB
:
Nameofinterfacetomonitor/list.
={-t|--tcp}{-u|--udp}{-w|--raw}{-x|--unix}--ax25--ipx--netrom
=Use'-A'or'--';default:
inet
Listofpossibleaddressfamilies(whichsupportrouting):
inet(DARPAInternet)inet6(IPv6)ax25(AMPRAX.25)
netrom(AMPRNET/ROM)ipx(NovellIPX)ddp(AppletalkDDP)
x25(CCITTX.25)
Netstat的一些常用选项
netstat-s——本选项能够按照各个协议分别显示其统计数据。
如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。
你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。
netstat-e——本选项用于显示关于以太网的统计数据。
它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。
这些统计数据既有发送的数据报数量,也有接收的数据报数量。
这个选项可以用来统计一些基本的网络流量。
netstat-r——本选项可以显示关于路由表的信息,类似于后面所讲使用routeprint命令时看到的信息。
除了显示有效路由外,还显示当前有效的连接。
netstat-a——本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_WAIT)或者处于联机等待状态的(TIME_WAIT)等
netstat-n——显示所有已建立的有效连接。
netstat支持用于显示活动或被动套接字的选项集。
选项-t、-u、-w和-
x分别表示TCP、UDP、RAW和UNIX套接字连接。
如果你另外还提供了一个-
a标记,还会显示出等待连接(也就是说处于监听模式)的套接字。
这样就可以得到一份服务器清单,当前所有运行于系统中的所有服务器都会列入其中。
调用netstat-ta时,输出结果如下:
[root@machine1/]$netstat-ta
ActiveInternetconnections(serversandestablished)
ProtoRecv-QSend-QLocalAddressForeignAddressState
tcp02210.34.6.89:
telnet210.34.6.96:
2873ESTABLISHED
tcp00210.34.6.89:
1165210.34.6.84:
netbios-ssnESTABLISHED
tcp00localhost.localdom:
9001localhost.localdom:
1162ESTABLISHED
tcp00localhost.localdom:
1162localhost.localdom:
9001ESTABLISHED
tcp00*:
9001*:
*LISTEN
tcp00*:
6000*:
*LISTEN
tcp00*:
socks*:
*LISTEN
tcp080210.34.6.89:
1161210.34.6.10:
netbios-ssnCLOSE
上面的输出表明部分服务器处于等待接入连接状态。
利用-
a选项的话,netstat还会显示出所有的套接字。
注意根据端口号,可以判断出一条连接是否是外出连接。
对呼叫方主机来说,列出的端口号应该一直是一个
整数,而对众所周知服务(wellknown
service)端口正在使用中的被呼叫方来说,netstat采用的则是取自/etc/services文件的象征性服务名在随-i标记一起调用时,netstat将显示网络接口的当前配置特性。
除此以外,如果调用时还带上-a选项,它还将输出内核中所有接口,并不只是当前配置的接口。
netstat-i的输出结果是这样的:
[root@machine1/]$netstat-i
KernelInterfacetable
IfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlg
eth01500078716500151655000BRU
eth1150005208110001986000BRU
lo39240194300043000LRU
MTU和Met字段表示的是接口的MTU和度量值值;RX和TX这两列表示的是已经准确无误地收发了多少数据包(RX-OK/TX-
OK)、产生了多少错误(
RX-ERR/TX-ERR)、丢弃了多少包(RX-DRP/TX-DRP),由于误差而遗失了多少包(RX-OVR/TX-OVR);最后一列展示的是
为这个接口设置的标记,在利用ifconfig显示接口配置时,这些标记都采用一个字母。
它们的说明如下:
■B已经设置了一个广播地址。
■L该接口是一个回送设备。
■M接收所有数据包(混乱模式)。
■N避免跟踪。
■O在该接口上,禁用ARP。
■P这是一个点到点链接。
■R接口正在运行。
■U接口处于“活动”状态。
◆显示路由表
在随-r标记一起调用netstat时,将显示内核路由表,就像我们利用route命令一样。
产生的输出如下:
[root@machine1/]$netstat-nr
KernelIProutingtable
DestinationGatewayGenmaskFlagsMSSWindowirttIface
210.34.6.00.0.0.0255.255.255.128U000eth0
192.168.1.00.0.0.0255.255.255.0U000eth1
127.0.0.00.0.0.0255.0.0.0U000lo
0.0.0.0210.34.6.20.0.0.0UG000eth0
-n选项令netstat以点分四段式的形式输出IP地址,而不是象征性的主机名和网络名。
如果想避免通过网络查找地址(比如避开DNS或NIS服务器),这一点是特别有用的。
netstat输出结果中,第二列展示的是路由条目所指的网关,如果没有使用网关,就会出现一个星号(*)或者0.0.0.0;第三列展示路由的概述,在
为具体的IP地址找出最恰当的路由时,内核将查看路由表内的所有条目,在对找到的路由与目标路由比较之前,将对I
P地址和genmask进行按位“与”计算;第四列显示了不同的标记,这些标记的说明如下:
■G路由将采用网关。
■U准备使用的接口处于“活动”状态。
■H通过该路由,只能抵达一台主机。
■D如果路由表的条目是由ICMP重定向消息生成的,就会设置这个标记。
■M如果路由表条目已被ICMP重定向消息修改,就会设置这个标记。
netstat输出结果的Iface显示该连接所用的物理网卡,如eth0表示用第一张,eth1表示用第二张。
接下来我们来看一下,微软是怎么说的?
微软公司故意将这个功能强大的命令隐藏起来是因为它对于普通用户来说有些复杂。
我们已经知道:
Netstat它可以用来获得你的系统网络连接的信息(使用的端口,在使用的协议等),收到和发出的数据,被连接的远程系统的端口,Netstat在内存中读取所有的网络信息。
在InternetRFC标准中,Netstat的定义是:
Netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
对于好奇心极强的人来说,紧紧有上面的理论是远远不够的,接下来我们来详细的解释一下各个参数的使用,看看执行之后会发生什么,显示的信息又是什么意思,好了,废话不说了,让我们一起来实践一下吧:
)
C:
\>netstat-a
ActiveConnections
ProtoLocalAddressForeignAddressState
TCPEagle:
ftpEagle:
0LISTENING
TCPEagle:
telnetEagle:
0LISTENING
TCPEagle:
smtpEagle:
0LISTENING
TCPEagle:
httpEagle:
0LISTENING
TCPEagle:
epmapEagle:
0LISTENING
TCPEagle:
httpsEagle:
0LISTENING
TCPEagle:
microsoft-dsEagle:
0LISTENING
TCPEagle:
1030Eagle:
0LISTENING
TCPEagle:
6059Eagle:
0LISTENING
TCPEagle:
8001Eagle:
0LISTENING
TCPEagle:
8005Eagle:
0LISTENING
TCPEagle:
8065Eagle:
0LISTENING
TCPEagle:
microsoft-dslocalhost:
1031ESTABLISHED
TCPEagle:
1031localhost:
microsoft-dsESTABLISHED
TCPEagle:
1040Eagle:
0LISTENING
TCPEagle:
netbios-ssnEagle:
0LISTENING
TCPEagle:
1213218.85.139.65:
9002CLOSE_WAIT
TCPEagle:
2416219.133.63.142:
httpsCLOSE_WAIT
TCPEagle:
2443219.133.63.142:
httpsCLOSE_WAIT
TCPEagle:
2907192.168.1.101:
2774CLOSE_WAIT
TCPEagle:
2916192.168.1.101:
telnetESTABLISHED
TCPEagle:
2927219.137.227.10:
4899TIME_WAIT
TCPEagle:
2928219.137.227.10:
4899TIME_WAIT
TCPEagle:
2929219.137.227.10:
4899ESTABLISHED
TCPEagle:
3455218.85.139.65:
9002ESTABLISHED
TCPEagle:
netbios-ssnEagle:
0LISTENING
UDPEagle:
microsoft-ds*:
*
UDPEagle:
1046*:
*
UDPEagle:
1050*:
*
UDPEagle:
1073*:
*
UDPEagle:
1938*:
*
UDPEagle:
2314*:
*
UDPEagle:
2399*:
*
UDPEagle:
2413*:
*
UDPEagle:
2904*:
*
UDPEagle:
2908*:
*
UDPEagle:
3456*:
*
UDPEagle:
4000*:
*
UDPEagle:
4001*:
*
UDPEagle:
6000*:
*
UDPEagle:
6001*:
*
UDPEagle:
6002*:
*
UDPEagle:
6003*:
*
UDPEagle:
6004*:
*
UDPEagle:
6005*:
*
UDPEagle:
6006*:
*
UDPEagle:
6007*:
*
UDPEagle:
6008*:
*
UDPEagle:
6009*:
*
UDPEagle:
6010*:
*
UDPEagle:
6011*:
*
UDPEagle:
1045*:
*
UDPEagle:
1051*:
*
UDPEagle:
netbios-ns*:
*
UDPEagle:
netbios-dgm*:
*
UDPEagle:
netbios-ns*:
*
UDPEagle:
netbios-dgm*:
*
我们拿其中一行来解释吧:
ProtoLocalAddressForeignAddressState
TCPEagle:
2929219.137.227.10:
4899ESTABLISHED
协议(Proto):
TCP,指是传输层通讯协议(什么?
不懂?
请用baidu搜索"TCP",OSI七层和TCP/IP四层可是基础^_^)
本地机器名(LocalAddress):
Eagle,俗称计算机名了,安装系统时设置的,可以在“我的电脑”属性中修改,本地打开并用于连接的端口:
2929)
远程机器名(ForeignAddress):
219.137.227.10
远程端口:
4899
状态:
ESTABLISHED
状态列表
LISTEN:
在监听状态中。
ESTABLISHED:
已建立联机的联机情况。
TIME_WAIT:
该联机在目前已经是等待的状态。
-a参数常用于获得你的本地系统开放的端口,用它您可以自己检查你的系统上有没有被安装木马(ps:
有很多好程序用来检测木马,但你的目的是想成为真正的hacker,手工检测要比只按一下“scan”按钮好些----仅个人观点)。
如果您Netstat你自己的话,发现下面的信息:
Port12345(TCP)Netbus
Port31337(UDP)BackOrifice
祝贺!
您中了最常见的木马(^_^,上面4899是我连别人的,而且这个radmin是商业软件,目前我最喜欢的远程控制软件)
如果你需要木马及其端口列表的话,去国内的H站找找,或者baidu,google吧
*****************************************************************
#一些原理:
也许你有这样的问题:
“在机器名后的端口号代表什么?
例子:
Eagle:
2929
小于1024的端口通常运行一些网络服务,大于1024的端口用来与远程机器建立连接。
*****************************************************************
继续我们的探讨,使用-n参数。
(Netstat-n)
Netstat-n基本上是-a参数的数字形式:
C:
\>netstat-n
ActiveConnections
ProtoLocalAddressForeignAddressState
TCP127.0.0.1:
445127.0.0.1:
1031ESTABLISHED
TCP127.0.0.1:
1031127.0.0.1:
445ESTABLISHED
TCP192.168.1.180:
1213218.85.139.65:
9002CLOSE_WAIT
TCP192.168.1.180:
2416219.133.63.142:
443CLOSE_WAIT
TCP192.168.1.180:
2443219.133.63.142:
443CLOSE_WAIT
TCP192.168.1.180:
2907192.168.1.101:
2774CLOSE_WAIT
TCP192.168.1.180:
2916192.168.1.101:
23ESTABLISHED
T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Netstat 命令 详解