仓酷云
标题:
来看看:Linux netstat命令具体剖析
[打印本页]
作者:
若相依
时间:
2015-1-16 12:58
标题:
来看看:Linux netstat命令具体剖析
只要了解了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
每一个开发团队都对他的发行版做过测试后放出的.那些国际知名的大品牌更是如此。
作者:
若相依
时间:
2015-1-21 09:48
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
作者:
活着的死人
时间:
2015-1-30 14:08
为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。
作者:
精灵巫婆
时间:
2015-2-6 13:20
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
作者:
小女巫
时间:
2015-2-16 07:08
让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。?
作者:
仓酷云
时间:
2015-3-5 01:41
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
作者:
飘灵儿
时间:
2015-3-11 22:42
Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。
作者:
莫相离
时间:
2015-3-19 15:51
通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?
作者:
因胸联盟
时间:
2015-3-29 04:33
如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。 Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2