Netstat检验本机各端口的网络连接.docx
- 文档编号:23398576
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:13
- 大小:29.94KB
Netstat检验本机各端口的网络连接.docx
《Netstat检验本机各端口的网络连接.docx》由会员分享,可在线阅读,更多相关《Netstat检验本机各端口的网络连接.docx(13页珍藏版)》请在冰豆网上搜索。
Netstat检验本机各端口的网络连接
Netstat
是DOS命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息.Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。
但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。
一般用netstat-na来显示所有连接的端口并用数字表示.
netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
该命令(linux下)的一般格式为:
netstat[选项]
命令中各选项的含义如下:
-a显示所有socket,包括正在监听的。
-c每隔1秒就重新显示一遍,直到用户中断它。
-i显示所有网络接口的信息,格式同“ifconfig-e”。
-n以网络IP地址代替名称,显示出网络连接情形。
-r显示核心路由表,格式同“route-e”。
-t显示TCP协议的连接情况。
-u显示UDP协议的连接情况。
-v显示正在进行的工作。
-A显示任何关联的协议控制块的地址。
主要用于调试
-a显示所有套接字的状态。
在一般情况下不显示与服务器进程相关联的套接字
-i显示自动配置接口的状态。
那些在系统初始引导后配置的接口状态不在输出之列
-m打印网络存储器的使用情况
-n打印实际地址,而不是对地址的解释或者显示主机,网络名之类的符号
-r打印路由选择表
-faddress-family对于给出名字的地址簇打印统计数字和控制块信息。
到目前为止,唯一支持的地址簇是inet
-Iinterface只打印给出名字的接口状态
-pprotocol-name只打印给出名字的协议的统计数字和协议控制块信息
-s打印每个协议的统计数字
-t在输出显示中用时间信息代替队列长度信息。
netstat命令的列标题
Name接口的名字
Mtu接口的最大传输单位
Net/Dest接口所在的网络
Address接口的IP地址
Ipkts接收到的数据包数目
Ierrs接收到时已损坏的数据包数目
Opkts发送的数据包数目
Oeers发送时已损坏的数据包数目
Collisions由这个接口所记录的网络冲突数目
netstat的一些常用选项:
netstat-s--本选项能够按照各个协议分别显示其统计数据。
如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。
你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。
netstat-e--本选项用于显示关于以太网的统计数据。
它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。
这些统计数据既有发送的数据报数量,也有接收的数据报数量。
这个选项可以用来统计一些基本的网络流量)。
netstat-r--本选项可以显示关于路由表的信息,类似于后面所讲使用routeprint命令时看到的信息。
除了显示有效路由外,还显示当前有效的连接。
netstat-a--本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。
netstat-n--显示所有已建立的有效连接。
«AWKPHP经典»netstat-an中state含义
netstat-an中state含义
LISTEN:
侦听来自远方的TCP端口的连接请求
SYN-SENT:
再发送连接请求后等待匹配的连接请求
SYN-RECEIVED:
再收到和发送一个连接请求后等待对方对连接请求的确认
ESTABLISHED:
代表一个打开的连接
FIN-WAIT-1:
等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:
从远程TCP等待连接中断请求
CLOSE-WAIT:
等待从本地用户发来的连接中断请求
CLOSING:
等待远程TCP对连接中断的确认
LAST-ACK:
等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT:
等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED:
没有任何连接状态
其实可以mannetstat,看其中的stat部分解释
State
Thestateofthesocket.SincetherearenostatesinrawmodeandusuallynostatesusedinUDP,thiscolumnmaybeleft
blank.Normallythiscanbeoneofseveralvalues:
ESTABLISHED
Thesockethasanestablishedconnection.
SYN_SENT
Thesocketisactivelyattemptingtoestablishaconnection.
SYN_RECV
Aconnectionrequesthasbeenreceivedfromthenetwork.
FIN_WAIT1
Thesocketisclosed,andtheconnectionisshuttingdown.
FIN_WAIT2
Connectionisclosed,andthesocketiswaitingforashutdownfromtheremoteend.
TIME_WAIT
Thesocketiswaitingafterclosetohandlepacketsstillinthenetwork.
CLOSEDThesocketisnotbeingused.
CLOSE_WAIT
Theremoteendhasshutdown,waitingforthesockettoclose.
LAST_ACK
Theremoteendhasshutdown,andthesocketisclosed.Waitingforacknowledgement.
LISTENThesocketislisteningforincomingconnections.Suchsocketsarenotincludedintheoutputunlessyouspecify
the–listening(-l)or–all(-a)option.
CLOSING
Bothsocketsareshutdownbutwestilldon’thaveallourdatasent.
UNKNOWN
Thestateofthesocketisunknown.
该命令(Winxp下)的一般格式为:
C:
\>netstat/?
显示协议统计信息和当前TCP/IP网络连接。
NETSTAT[-a][-b][-e][-n][-o][-pproto][-r][-s][-v]
-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]
-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
Netstat的一些常用选项介绍:
netstat-s——本选项能够按照各个协议分别显示其统计数据。
如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。
你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。
netstat-e——本选项用于显示关于以太网的统计数据。
它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。
这些统计数据既有发送的数据报数量,也有接收的数据报数量。
这个选项可以用来统计一些基本的网络流量。
netstat-r——本选项可以显示关于路由表的信息,类似于后面所讲使用routeprint命令时看到的信息。
除了显示有效路由外,还显示当前有效的连接。
netstat-a——本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_WAIT)或者处于联机等待状态的(TIME_WAIT)等
netstat-n——显示所有已建立的有效连接。
接下来我们来看一下,微软是怎么说的?
微软公司故意将这个功能强大的命令隐藏起来是因为它对于普通用户来说有些复杂。
我们已经知道:
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
TCP192.168.1.180:
2929219.137.227.10:
4899ESTABLISHED
TCP192.168.1.180:
3048192.168.1.1:
8004SYN_SENT
TCP192.168.1.180:
3455218.85.139.65:
9002ESTABLISHED
-a和-n是最常用的两个,据我不完全测试得出以下结果:
1.-n显示用数字化主机名,即IP地址,而不是compute_name【eagle】
2.-n只显示TCP连接(没有在哪里见过微软的相关文档,有哪个朋友见到的话,记得告诉我喔^_^)
得到IP等于得到一切,它是最容易使机器受到攻击的东东,所以隐藏自己IP,获得别人的IP对hacker来说非常重要,现在隐藏IP技术很流行,但那些隐藏工具或服务真的让你隐身吗?
我看不见得,呵呵,代理,跳板不属于今天讨论,一个获取对方IP的简单例子请参考我前面的文章【用DOS命令查QQ好友IP地址】
-a和-n是最常用的命令,如果要显示一些协议的更详细信息,就要用-p这个参数了,它其实是-a和-n的一个变种,我们来看一个实例,你就明白了:
【netstat-p@@@其中@@@为TCP或者UDP】
C:
\>netstat-ptcp
ActiveConnections
ProtoLocalAddressForeignAddressState
TCPEagle:
microsoft-dslocalhost:
1031ESTABLISHED
TCPEagle:
103
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Netstat 检验 端口 网络 连接