|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
只要了解了Linux的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux就是希望构架网站,根本没有想到要先了解一下Linux的基础。这是相当困难的。
简介
Netstat命令用于显现各类收集相干信息,如收集毗连,路由表,接口形态(InterfaceStatistics),masquerade毗连,多播成员(MulticastMemberships)等等。
输入信息寄义
实行netstat后,其输入了局为
复制代码代码以下:
ActiveInternetconnections(w/oservers)
ProtoRecv-QSend-QLocalAddressForeignAddressState
tcp02210.34.6.89:telnet210.34.6.96:2873ESTABLISHED
tcp2960210.34.6.89:1165210.34.6.84:netbios-ssnESTABLISHED
tcp00localhost.localdom:9001localhost.localdom:1162ESTABLISHED
tcp00localhost.localdom:1162localhost.localdom:9001ESTABLISHED
tcp080210.34.6.89:1161210.34.6.10:netbios-ssnCLOSE
ActiveUNIXdomainsockets(w/oservers)
ProtoRefCntFlagsTypeStateI-NodePath
unix1[]STREAMCONNECTED16178@000000dd
unix1[]STREAMCONNECTED16176@000000dc
unix9[]DGRAM5292/dev/log
unix1[]STREAMCONNECTED16182@000000df
从全体上看,netstat的输入了局能够分为两个部分:
一个是ActiveInternetconnections,称为有源TCP毗连,个中"Recv-Q"和"Send-Q"指%0A的是吸收行列和发送行列。这些数字一样平常都应当是0。假如不是则暗示软件包正在行列中聚积。这类情形只能在十分少的情形见到。
另外一个是ActiveUNIXdomainsockets,称为有源Unix域套接口(和收集套接字一样,可是只能用于本机通讯,功能能够进步一倍)。
Proto显现毗连利用的协定,RefCnt暗示毗连到本套接口上的历程号,Types显现套接口的范例,State显现套接口以后的形态,Path暗示毗连到套接口的别的历程利用的路径名。
罕见参数
-a(all)显现一切选项,默许不显现LISTEN相干
-t(tcp)仅显现tcp相干选项
-u(udp)仅显现udp相干选项
-n回绝显现别号,能显现数字的全体转化成数字。
-l仅列出有在Listen(监听)的服兆刺
-p显现创建相干链接的程序名
-r显现路由信息,路由表
-e显现扩大信息,比方uid等
-s按各个协定举行统计
-c每隔一个流动工夫,实行该netstat命令。
提醒:LISTEN和LISTENING的形态只要用-a大概-l才干看到
有用命令实例
1.列出一切端口(包含监听和未监听的)
列出一切端口netstat-a
复制代码代码以下:
#netstat-a|more
ActiveInternetconnections(serversandestablished)
ProtoRecv-QSend-QLocalAddressForeignAddressState
tcp00localhost:30037*:*LISTEN
udp00*:bootpc*:*
ActiveUNIXdomainsockets(serversandestablished)
ProtoRefCntFlagsTypeStateI-NodePath
unix2[ACC]STREAMLISTENING6135/tmp/.X11-unix/X0
unix2[ACC]STREAMLISTENING5140/var/run/acpid.socket
列出一切tcp端口netstat-at
复制代码代码以下:
#netstat-at
ActiveInternetconnections(serversandestablished)
ProtoRecv-QSend-QLocalAddressForeignAddressState
tcp00localhost:30037*:*LISTEN
tcp00localhost:ipp*:*LISTEN
tcp00*:smtp*:*LISTEN
tcp600localhost:ipp[::]:*LISTEN
列出一切udp端口netstat-au
复制代码代码以下:
#netstat-au
ActiveInternetconnections(serversandestablished)
ProtoRecv-QSend-QLocalAddressForeignAddressState
udp00*:bootpc*:*
udp00*:49119*:*
udp00*:mdns*:*
2.列出一切处于监听形态的Sockets
只显现监听端口netstat-l
复制代码代码以下:
#netstat-l
ActiveInternetconnections(onlyservers)
ProtoRecv-QSend-QLocalAddressForeignAddressState
tcp00localhost:ipp*:*LISTEN
tcp600localhost:ipp[::]:*LISTEN
udp00*:49119*:*
只列出一切监听tcp端口netstat-lt
复制代码代码以下:
#netstat-lt
ActiveInternetconnections(onlyservers)
ProtoRecv-QSend-QLocalAddressForeignAddressState
tcp00localhost:30037*:*LISTEN
tcp00*:smtp*:*LISTEN
tcp600localhost:ipp[::]:*LISTEN
只列出一切监听udp端口netstat-lu
复制代码代码以下:
#netstat-lu
ActiveInternetconnections(onlyservers)
ProtoRecv-QSend-QLocalAddressForeignAddressState
udp00*:49119*:*
udp00*:mdns*:*
只列出一切监听UNIX端口netstat-lx
复制代码代码以下:
#netstat-lx
ActiveUNIXdomainsockets(onlyservers)
ProtoRefCntFlagsTypeStateI-NodePath
unix2[ACC]STREAMLISTENING6294private/maildrop
unix2[ACC]STREAMLISTENING6203public/cleanup
unix2[ACC]STREAMLISTENING6302private/ifmail
unix2[ACC]STREAMLISTENING6306private/bsmtp
3.显现每一个协定的统计信息
显现一切端口的统计信息netstat-s
复制代码代码以下:
#netstat-s
Ip:
totalpacketsreceived
withinvalidaddresses
forwarded
incomingpacketsdiscarded
incomingpacketsdelivered
requestssentout
Icmp:
ICMPmessagesreceived
inputICMPmessagefailed.
Tcp:
activeconnectionsopenings
failedconnectionattempts
connectionresetsreceived
Udp:
packetsreceived
packetstounknownportreceived.
.....
显现TCP或UDP端口的统计信息netstat-st或-su
复制代码代码以下:
#netstat-st
#netstat-su
4.在netstat输入中显现PID和历程称号netstat-p
netstat-p能够与别的开关一同利用,就能够增加“PID/历程称号”到netstat输入中,如许debugging的时分能够很便利的发明特定端口运转的程序。
复制代码代码以下:
#netstat-pt
ActiveInternetconnections(w/oservers)
ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programname
tcp10ramesh-laptop.loc:47212192.168.185.75:wwwCLOSE_WAIT2109/firefox
tcp00ramesh-laptop.loc:52750lax:wwwESTABLISHED2109/firefox
5.在netstat输入中不显现主机,端口和用户名(host,portoruser)
当你不想让主机,端口和用户名显现,利用netstat-n。将会利用数字取代那些称号。
一样能够减速输入,由于不必举行比对查询。
复制代码代码以下:
#netstat-an
假如只是不想让这三个称号中的一个被显现,利用以下命令
复制代码代码以下:
#netsat-a--numeric-ports
#netsat-a--numeric-hosts
#netsat-a--numeric-users
6.延续输入netstat信息
netstat将每隔一秒输入收集信息。
复制代码代码以下:
#netstat-c
ActiveInternetconnections(w/oservers)
ProtoRecv-QSend-QLocalAddressForeignAddressState
tcp00ramesh-laptop.loc:36130101-101-181-225.ama:wwwESTABLISHED
tcp11ramesh-laptop.loc:52564101.11.169.230:wwwCLOSING
tcp00ramesh-laptop.loc:43758server-101-101-43-2:wwwESTABLISHED
tcp11ramesh-laptop.loc:42367101.101.34.101:wwwCLOSING
^C
7.显现体系不撑持的地点族(AddressFamilies)
复制代码代码以下:
netstat--verbose
在输入的开端,会有以下的信息
复制代码代码以下:
netstat:nosupportfor`AFIPXonthissystem.
netstat:nosupportfor`AFAX25onthissystem.
netstat:nosupportfor`AFX25onthissystem.
netstat:nosupportfor`AFNETROMonthissystem.
8.显现中心路由信息netstat-r
复制代码代码以下:
#netstat-r
KernelIProutingtable
DestinationGatewayGenmaskFlagsMSSWindowirttIface
192.168.1.0*255.255.255.0U000eth2
link-local*255.255.0.0U000eth2
default192.168.1.10.0.0.0UG000eth2
注重:利用netstat-rn显现数字格局,不查询主机称号。
9.找出程序运转的端口
并非一切的历程都能找到,没有权限的会不显现,利用root权限检察一切的信息。
复制代码代码以下:
#netstat-ap|grepssh
tcp10dev-db:ssh101.174.100.22:39213CLOSE_WAIT-
tcp10dev-db:ssh101.174.100.22:57643CLOSE_WAIT-
找出运转在指定端口的历程
复制代码代码以下:
#netstat-an|grep:80
10.显现收集接口列表
复制代码代码以下:
#netstat-i
KernelInterfacetable
IfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlg
eth01500000000000BMU
eth2150002619600026883600BMRU
lo16436040004000LRU
显现具体信息,像是ifconfig利用netstat-ie:
复制代码代码以下:
#netstat-ie
KernelInterfacetable
eth0Linkencap:EthernetHWaddr00:10:40:11:11:11
UPBROADCASTMULTICASTMTU:1500Metric:1
RXpackets:0errors:0dropped:0overruns:0frame:0
TXpackets:0errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:0(0.0B)TXbytes:0(0.0B)
Memory:f6ae0000-f6b00000
11.IP和TCP剖析
检察毗连某服务端口最多的的IP地点
复制代码代码以下:
wss8848@ubuntu:~$netstat-nat|grep"192.168.1.15:22"|awk{print$5}|awk-F:{print$1}|sort|uniq-c|sort-nr|head-20
221.136.168.36
154.74.45.242
78.173.31.236
62.183.207.98
192.168.1.14
182.48.111.215
124.193.219.34
119.145.41.2
114.255.41.30
75.102.11.99
TCP各类形态列表
复制代码代码以下:
wss8848@ubuntu:~$netstat-nat|awk{print$6}
established)
Foreign
LISTEN
TIME_WAIT
ESTABLISHED
TIME_WAIT
SYN_SENT
先把形态全都掏出来,然后利用uniq-c统计,以后再举行排序。
复制代码代码以下:
wss8848@ubuntu:~$netstat-nat|awk{print$6}|sort|uniq-c
ESTABLISHED
FIN_WAIT1
Foreign
LAST_ACK
LISTEN
SYN_SENT
TIME_WAIT
established)
最初的命令以下:
复制代码代码以下:
netstat-nat|awk{print$6}|sort|uniq-c|sort-rn
剖析access.log取得会见前10位的ip地点
复制代码代码以下:
awk{print$1}access.log|sort|uniq-c|sort-nr|head-10
每一个开发团队都对他的发行版做过测试后放出的.那些国际知名的大品牌更是如此。 |
|