netstat 的10个基本用法
- 格式:doc
- 大小:157.00 KB
- 文档页数:12
Netstat命令详解如何关闭TIME_WAIT连接如何查看nginx的访问流量Netstat命令详解 netstat命令怎样使用如何关闭TIME_WAIT连接如何统计web服务器的访问量如果查看nginx的访问流量?下面我们来看看它主要的用法和详解!(netstat -na 命令),本文主要是说Linux下的netstat工具,然后详细说明一下各种网络连接状态。
netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -nrstat命令详解其实我常用的是 netstat -tnl | grep 443 (查看443端口是否被占用),如果有当前是root用户,我喜欢用netstat -pnl | grep 443 (还可显示出占用本机443端口的进程PID)。
netstat功能说明:显示网络状态。
语 法:netstat [-acCeFghilMnNoprstuvVwx] [-A<网络类型>][--ip]补充说明:利用netstat指令可让你得知整个Linux系统的网络情况。
参 数:-a或–all 显示所有连线中的Socket。
-A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。
-c或–continuous 持续列出网络状态。
-C 或–cache 显示路由器配置的快取信息。
-e或–extend 显示网络其他相关信息。
-F或 –fib 显示FIB。
-g或–groups 显示多重广播功能群组组员名单。
-h或–help 在线帮助。
-i 或–interfaces 显示网络界面信息表单。
-l或–listening 显示监控中的服务器的Socket。
-M 或–masquerade 显示伪装的网络连线。
-n或–numeric 直接使用IP地址,而不通过域名服务器。
-N 或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。
提示1、netstat用于显示本地的tcp和udp连接,在需要的时候,他应该和其它的dos命令联合使用,比如域名解析与反解析命令nslookupNetstat介绍正文C:\Users\wangbin.BTPDI>netstat /?显示协议统计和当前TCP/IP 网络连接。
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]-a 显示所有连接和侦听端口。
//常用-b 显示在创建每个连接或侦听端口时涉及的可执行程序。
//常用在某些情况下,已知可执行程序承载多个独立的组件,这些情况下,显示创建连接或侦听端口时涉及的组件序列。
此情况下,可执行程序的名称位于底部[]中,它调用的组件位于顶部,直至达到TCP/IP。
注意,此选项可能很耗时,并且在您没有足够权限时可能失败。
-e 显示以太网统计。
此选项可以与-s 选项结合使用。
//常用-f 显示外部地址的完全限定域名(FQDN)。
//没用-n 以数字形式显示地址和端口号。
//常用-o 显示拥有的与每个连接关联的进程ID。
//没用-p proto 显示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 选项可用于指定默认的子网。
-t 显示当前连接卸载状态。
//没用interval 重新显示选定的统计,各个显示间暂停的间隔秒数。
按CTRL+C 停止重新显示统计。
如果省略,则netstat将打印当前的配置信息一次。
netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
该命令的一般格式为:netstat [选项]命令中各选项的含义如下:-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
[例]在本地机上使用netstat命令。
$ netstatActive Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address State Active UNIX domain sockets (w/o servers)Proto RefCnt Flags Type State I-Node Pathunix 1 [ ] STREAM CONNECTED 270 @00000008unix 1 [ ] STREAM CONNECTED 150 @00000002unix 1 [ ] STREAM CONNECTED 104 @00000001unix 1 [ ] STREAM CONNECTED 222 @00000004unix 1 [ ] STREAM CONNECTED 171 @00000003unix 1 [ ] STREAM CONNECTED 271 /dev/logunix 1 [ ] STREAM CONNECTED 225 /dev/logunix 1 [ ] STREAM CONNECTED 223 /dev/logunix 1 [ ] STREAM CONNECTED 203 /dev/logunix 1 [ ] STREAM CONNECTED 105 /dev/log……nslookup命令nslookup命令的功能是查询一台机器的IP地址和其对应的域名。
一、简介netstat命令是一个用来显示TCP/IP网络统计信息和当前TCP/IP网络连接的工具。
而netstat -e命令是netstat命令的一个扩展,它可以显示扩展的网络统计信息。
在本文中,我们将详细介绍netstat -e 命令的用法及其相关的内容。
二、netstat -e命令的用法1. 基本语法netstat -e命令的基本语法如下所示:```netstat -e [参数]```其中,[]表示可选部分,参数为netstat -e命令的选项。
2. 参数说明netstat -e命令的常用参数及其说明如下:- -e:显示扩展的网络统计信息。
- -n:以数字形式显示网络位置区域和端口号。
3. 示例下面是netstat -e命令的一些示例:```netstat -enetstat -e -n```三、netstat -e命令的功能netstat -e命令主要用于显示扩展的网络统计信息,包括网络接口的统计信息和错误信息。
具体包括以下内容:- 接收和发送的数据包总数。
- 接收和发送的错误数据包总数。
- 接收和发送的数据包的字节数。
通过netstat -e命令,可以了解当前网络接口的工作状态,及时发现网络问题,以便进行及时的处理和维护。
四、netstat -e命令的注意事项在使用netstat -e命令时,需要注意以下事项:- 需要有管理员权限才能运行netstat -e命令。
- 输出结果中可能包含大量的信息,需要根据实际情况进行分析。
五、总结netstat -e命令是一个用于显示扩展的网络统计信息的工具,它可以帮助用户及时了解网络接口的工作状态,发现网络问题,并进行适当的处理和维护。
在使用netstat -e命令时,需要注意权限和输出结果的分析,以便更好地利用该命令进行网络管理工作。
netstat -e命令是网络管理人员必备的工具之一,它在网络故障排查、性能优化等方面具有重要作用。
希望本文能够帮助读者更好地了解和使用netstat -e命令。
netstat命令详解例⼦1. 列出所有端⼝情况[root@xiesshavip002 ~]# netstat -a # 列出所有端⼝[root@xiesshavip002 ~]# netstat -at # 列出所有TCP端⼝[root@xiesshavip002 ~]# netstat -au # 列出所有UDP端⼝2. 列出所有处于监听状态的 Sockets[root@xiesshavip002 ~]# netstat -l # 只显⽰监听端⼝[root@xiesshavip002 ~]# netstat -lt # 显⽰监听TCP端⼝[root@xiesshavip002 ~]# netstat -lu # 显⽰监听UDP端⼝[root@xiesshavip002 ~]# netstat -lx # 显⽰监听UNIX端⼝3. 显⽰每个协议的统计信息[root@xiesshavip002 ~]# netstat -s # 显⽰所有端⼝的统计信息[root@xiesshavip002 ~]# netstat -st # 显⽰所有TCP的统计信息[root@xiesshavip002 ~]# netstat -su # 显⽰所有UDP的统计信息4. 显⽰ PID 和进程名称[root@xiesshavip002 ~]# netstat -p5. 显⽰核⼼路由信息[root@xiesshavip002 ~]# netstat -rKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Ifacedefault gateway 0.0.0.0 UG 0 0 0 eth0192.168.130.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0[root@xiesshavip002 ~]# netstat -rn # 显⽰数字格式,不查询主机名称Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface0.0.0.0 192.168.130.1 0.0.0.0 UG 0 0 0 eth0192.168.130.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0[root@xiesshavip002 ~]#6. 查看端⼝和服务[root@xiesshavip002 ~]# netstat -antp | grep sshtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 734/sshdtcp 0 52 192.168.130.20:22 119.129.118.189:58737 ESTABLISHED 1846/sshd: root@ptstcp6 0 0 :::22 :::* LISTEN 734/sshd[root@xiesshavip002 ~]# netstat -antp | grep 22tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 734/sshdtcp 0 52 192.168.130.20:22 119.129.118.189:58737 ESTABLISHED 1846/sshd: root@ptstcp6 0 0 :::22 :::* LISTEN 734/sshd[root@xiesshavip002 ~]#简介Netstat 命令⽤于显⽰各种⽹络相关信息,如⽹络连接,路由表,接⼝状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
通过netstat命令监控网络连接和端口netstat命令是网络统计(Network Statistics)的缩写,是一种用于监控网络连接和端口的工具。
它可以显示当前正在运行的网络连接,以及与计算机上的网络端口相关的信息。
通过使用netstat命令,系统管理员可以实时地了解到计算机与外部网络之间的通信情况,从而提高网络性能和安全性。
netstat命令的基本语法是:netstat [options]其中,options是用于指定所要显示的信息类型的参数。
下面是一些常用的netstat命令选项及其功能:1. netstat -a:显示所有活动的网络连接和监听端口。
2. netstat -n:以数字形式显示网络地址和端口。
3. netstat -p:显示与网络连接关联的进程信息。
4. netstat -r:显示路由表信息。
5. netstat -s:显示网络统计摘要信息。
通过结合不同的选项,可以灵活地使用netstat命令来监控网络连接和端口。
下面将分别介绍netstat命令的不同用法及其相关应用。
1. 监控所有活动的网络连接和监听端口使用netstat -a命令可以显示当前系统中所有活动的网络连接和监听端口。
该命令将输出以下信息:- Proto:协议类型,如TCP、UDP等。
- Local Address:本地网络地址和端口号。
- Foreign Address:远程网络地址和端口号。
- State:网络连接状态,如ESTABLISHED(已建立)、TIME_WAIT(等待关闭)等。
通过观察State列的状态,可以判断哪些网络连接是正常运行的,哪些可能存在问题。
这对于排查网络故障和安全威胁非常有帮助。
2. 以数字形式显示网络地址和端口在netstat命令中使用-n选项可以以数字形式显示网络地址和端口,而不进行域名解析。
这种方式的输出更加简洁明了,方便快速查看网络连接和端口信息。
例如,使用netstat -an命令可以显示以下信息:- Proto:协议类型。
Netstat命令详解Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。
但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。
Netstat 详细参数列表(winXP)C:\>netstat /?显示协议统计信息和当前 TCP/IP 网络连接。
NETSTAT [-a] [-b] [—e][-n] [-o] [-p proto] [-r] [—s][—v] [interval]—a 显示所有连接和监听端口。
-b 显示包含于创建每个连接或监听端口的可执行组件。
在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。
这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP部分。
注意此选项可能需要很长时间,如果没有足够权限可能失败.—e 显示以太网统计信息.此选项可以与 -s 选项组合使用.—n 以数字形式显示地址和端口号。
-o 显示与每个连接相关的所属进程 ID。
-p proto 显示 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 选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件。
Netstat 简介Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括tcp, udp 以及unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。
如果你想确认系统上的Web 服务有没有起来,你可以查看80端口有没有打开。
以上功能使netstat 成为网管和系统管理员的必备利器。
在这篇教程中,我会列出几个例子,教大家如何使用netstat 去查找网络连接信息和系统开启的端口号。
以下的简单介绍来自netstat 的man 手册:netstat - 打印网络连接、路由表、连接的数据统计、伪装连接以及广播域成员。
1. 列出所有连接第一个要介绍的,是最简单的命令:列出所有当前的连接。
使用-a 选项即可。
$ netstat -aActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 enlightened:domain *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 enlightened.local:54750 li240-5.members.li:http ESTABLISHEDtcp 0 0 enlightened.local:49980 del01s07-in-f14.1:https ESTABLISHEDtcp6 0 0 ip6-localhost:ipp [::]:* LISTEN udp 0 0 enlightened:domain *:* udp 0 0 *:bootpc *:* udp 0 0 enlightened.local:ntp *:* udp 0 0 localhost:ntp *:* udp 0 0 *:ntp *:* udp 0 0 *:58570 *:* udp 0 0 *:mdns *:* udp 0 0 *:49459 *:* udp6 0 0 fe80::216:36ff:fef8:ntp [::]:* udp6 0 0 ip6-localhost:ntp [::]:* udp6 0 0 [::]:ntp [::]:* udp6 0 0 [::]:mdns [::]:* udp6 0 0 [::]:63811 [::]:* udp6 0 0 [::]:54952 [::]:* Active UNIX domain sockets (servers and established)Proto RefCnt Flags Type State I-Node Pathunix 2 [ ACC ] STREAM LISTENING 12403 @/tmp/dbus-IDgfj3UGXXunix 2 [ ACC ] STREAM LISTENING 40202 @/dbus-vfs-daemon/socket-6nUC6CCx上述命令列出tcp, udp 和unix 协议下所有套接字的所有连接。
然而这些信息还不够详细,管理员往往需要查看某个协议或端口的具体连接情况。
2. 只列出TCP 或UDP 协议的连接使用-t选项列出TCP 协议的连接:$ netstat -atActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 enlightened:domain *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 enlightened.local:36310 del01s07-in-f24.1:https ESTABLISHED tcp 0 0 enlightened.local:45038 a96-17-181-10.depl:http ESTABLISHED tcp 0 0 enlightened.local:37892 ABTS-North-Static-:http ESTABLISHED .....使用-u选项列出UDP 协议的连接:$ netstat -auActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:34660 *:* udp 0 0 enlightened:domain *:* udp 0 0 *:bootpc *:* udp 0 0 enlightened.local:ntp *:* udp 0 0 localhost:ntp *:*udp 0 0 *:ntp *:* udp6 0 0 fe80::216:36ff:fef8:ntp [::]:* udp6 0 0 ip6-localhost:ntp [::]:* udp6 0 0 [::]:ntp [::]:*上面同时显示了IPv4 和IPv6 的连接。
3. 禁用反向域名解析,加快查询速度默认情况下netstat 会通过反向域名解析技术查找每个IP 地址对应的主机名。
这会降低查找速度。
如果你觉得IP 地址已经足够,而没有必要知道主机名,就使用-n选项禁用域名解析功能。
$ netstat -antActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp 0 0 192.168.1.2:49058 173.255.230.5:80 ESTABLISHED tcp 0 0 192.168.1.2:33324 173.194.36.117:443 ESTABLISHED tcp6 0 0 ::1:631 :::* LISTEN上述命令列出所有TCP 协议的连接,没有使用域名解析技术。
So easy ? 非常好。
4. 只列出监听中的连接任何网络服务的后台进程都会打开一个端口,用于监听接入的请求。
这些正在监听的套接字也和连接的套接字一样,也能被netstat 列出来。
使用-l选项列出正在监听的套接字。
$ netstat -tnlActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 127.0.1.1:53 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:631 0.0.0.0:* LISTENtcp6 0 0 ::1:631 :::* LISTEN现在我们可以看到处于监听状态的TCP 端口和连接。
如果你查看所有监听端口,去掉-t选项。
如果你只想查看UDP 端口,使用-u选项,代替-t选项。
注意:不要使用-a选项,否则netstat 会列出所有连接,而不仅仅是监听端口。
5. 获取进程名、进程号以及用户ID查看端口和连接的信息时,能查看到它们对应的进程名和进程号对系统管理员来说是非常有帮助的。
举个栗子,Apache 的httpd 服务开启80端口,如果你要查看http 服务是否已经启动,或者http 服务是由apache 还是nginx 启动的,这时候你可以看看进程名。
使用-p选项查看进程信息。
~$ sudo netstat -nlptActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1144/dnsmasqtcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 661/cupsdtcp6 0 0 ::1:631 :::* LISTEN 661/cupsd使用-p选项时,netstat 必须运行在root 权限之下,不然它就不能得到运行在root 权限下的进程名,而很多服务包括http 和ftp 都运行在root 权限之下。
相比进程名和进程号而言,查看进程的拥有者会更有用。
使用-ep选项可以同时查看进程名和用户名。
$ sudo netstat -ltpeActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program nametcp 0 0 enlightened:domain *:* LISTEN root 11090 1144/dnsmasqtcp 0 0 localhost:ipp *:* LISTEN root 9755 661/cupsdtcp6 0 0 ip6-localhost:ipp [::]:* LISTEN root 9754 661/cupsd上面列出TCP 协议下的监听套接字,同时显示进程信息和一些额外信息。
这些额外的信息包括用户名和进程的索引节点号。
这个命令对网管来说很有用。
注意- 假如你将-n和-e选项一起使用,User 列的属性就是用户的ID 号,而不是用户名。
6. 打印统计数据netstat 可以打印出网络统计数据,包括某个协议下的收发包数量。
下面列出所有网络包的统计情况:$ netstat -sIp:32797 total packets received0 forwarded0 incoming packets discarded32795 incoming packets delivered29115 requests sent out60 outgoing packets droppedIcmp:125 ICMP messages received0 input ICMP message failed.ICMP input histogram:destination unreachable: 125125 ICMP messages sent0 ICMP messages failedICMP output histogram:destination unreachable: 125... OUTPUT TRUNCATED ...如果想只打印出TCP 或UDP 协议的统计数据,只要加上对应的选项(-t和-u)即可,so easy。