Linux NetStat命令示例

时间:2020-03-05 15:28:36  来源:igfitidea点击:

NetStat是一个命令行工具,用于查看和监控系统的网络统计信息和配置。

NetStat是一个非常强大的工具,可用于网络故障排除和网络性能测量目的。
可以在基于UNIX系统中的Man命令查看可以使用此工具携带的活动列表。
(页面底部给出了man命令的示例使用情况)

本教程展示了NetStat命令的一些共同和重要的用途,其中包含示例和正确的解释,可能会派上日常操作。
netstat命令已被推荐使用,我们现在可以使用ss命令。

以下是NetStat工具的一些基本命令

1)列出所有套接字

这将显示所有套接字的详细信息,包括以下格式的打开和关闭套接字Proto协议Refcnt参考数:通过此套接字标志连接的添加进程数标志类型 - 网络套接字类型状态状态套接字I-node inode插座的插座路径路径

命令:netstat -a输出示例:

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     15365    /var/run/docker.sock
unix  2      [ ACC ]     STREAM     LISTENING     22352    @/tmp/.ICE-unix/4060
unix  2      [ ACC ]     STREAM     LISTENING     10523    /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     21843    /tmp/ssh-8rfNCLtCuWbJ/agent.4000
unix  2      [ ACC ]     STREAM     LISTENING     13073    /var/run/samba/winbindd/pipe

2)列出所有TCP端口连接

这显示了所有TCP套接字的详细信息,包括以相同格式的打开和关闭套接字。

命令:netstat -at输出示例:

Active Internet connections (servers and established)
Proto  Recv-Q    Send-Q    Local Address        Foreign Address              State
tcp  	0           0       localhost:ipp           *:*                      	LISTEN
tcp     0           0       *:microsoft-ds          *:*                         LISTEN
tcp     0           0       *:netbios-ssn           *:*                         LISTEN
tcp     0           0       ubuntu:domain           *:*                         LISTEN
tcp6    0           0       ip6-localhost:ipp       [::]:*                      LISTEN
tcp6    0           0       [::]:microsoft-ds       [::]:*                      LISTEN
tcp6    0           0       [::]:netbios-ssn        [::]:*                      LISTEN
tcp6    1           0       ip6-localhost:34871     ip6-localhost:ipp     	CLOSE_WAIT

3)列出所有UDP端口连接

这将显示所有UDP套接字的详细信息,包括以相同格式的打开和关闭套接字。
命令:netstat -au输出示例:

Active Internet connections (servers and established)
Proto    Recv-Q    Send-Q     Local Address                     Foreign Address     State
udp         0       0              *:59865                          *:*
udp         0       0              ubuntu:domain                    *:*
udp         0       0              *:bootpc                         *:*
udp         0       0              *:32333                          *:*
udp         0       0              *:ipp                            *:*
udp         0       0              192.168.64.2:netbios-ns     	    *:*
udp         0       0              192.168.64.1:netbios-ns     	    *:*
udp         0       0              172.17.255.2:netbios-ns          *:*
udp         0       0              172.17.0.1:netbios-ns            *:*

4)列出"听"状态的所有连接

这将显示相同格式的所有侦听套接字的详细信息。
命令:netstat -l输出示例:

Proto  Recv-Q    Send-Q    Local Address              Foreign Address     State
tcp   	0           0       	localhost:ipp          	*:*                 LISTEN
tcp     0           0           *:microsoft-ds          *:*                 LISTEN
tcp     0           0           *:netbios-ssn           *:*                 LISTEN
tcp     0           0           ubuntu:domain           *:*                 LISTEN
tcp6    0           0           ip6-localhost:ipp       [::]:*              LISTEN
tcp6    0           0           [::]:microsoft-ds       [::]:*              LISTEN
tcp6    0           0           [::]:netbios-ssn        [::]:*              LISTEN

5)显示路由表

这在下面的格式目的地地址网关中打印出内核路由信息 - 网关地址与网络标志对应的网关地址Genmask NetMask以提供有关路由的特定信息(U-Route Up,G G通信应该通过网关发送)MSS - 最大段大小窗口 - TCP窗口大小IRTT - 初始往返时间iFace - 接口命令:NetStat -R输出示例:

Kernel IP routing table
Destination    Gateway           Genmask          Flags    MSS     Window  irtt    Iface
default       	192.168.64.2        0.0.0.0         UG      0       0       0       eth0
172.17.0.0      *                   255.255.0.0     U       0       0       0       docker0
192.168.64.0  	*                   255.255.255.0   U       0       0       0       eth0

6)显示网络接口

这将按照以下格式打印有关网络接口的信息IFACE - 接口MTU - 最大传输单元MET - 接口的MET - 度量值Rx-OK错误的错误数据包接收RX-ERR - 以错误接收的数据包RX-DRP - 数在接收RX-OVR时丢弃的数据包 - 由于溢出时丢失的数据包数量,当接收到TX-OK错误的错误数据包传输RX-ERR - 传输数据包的数量RX-DRP - 传输RX-OVR时的丢弃数据包数 - 传输FLG时溢出导致的数据包数 - FLAG命令:NETSTAT -I示例输出:

Kernel Interface table
Iface   MTU    Met RX-OK   RX-ERR  RX-DRP  RX-OVR  TX-OK   TX-ERR  TX-DRP  TX-OVR  Flg
docker0	 1500 	0   0       0       0       0       0       0       0       0       BMU
eth0     1500   0   36774   0       0       0       20917   0       0       0       BMRU
lo       65536  0   7246    0       0       0       7246    0       0       0       LRU

7)连续监测

此命令持续输出套接字连接,因此这对于连续网络监视命令非常有用:NetStat -c示例输出:

unix 3 [ ] STREAM CONNECTED 24655
unix 3 [ ] STREAM CONNECTED 22456
unix 3 [ ] STREAM CONNECTED 22227 @/tmp/.X11-unix/X0
unix 2 [ ] DG内存            16819
unix 3 [ ] STREAM CONNECTED 13848 /var/run/dbus/system_bus_socket

8)显示多播组信息

这将在以下格式接口网络接口Refcnt-Referning Count:通过此套接字组连接的添加进程数 - MulticAtt Group命令:"NetStat -g"示例输出:

IPv6/IPv4 Group Memberships
Interface       RefCnt     Group
--------------- ------ --------------------
lo           	1    	    all-systems.mcast.net
eth0            1           224.0.0.251
eth0            1           all-systems.mcast.net
docker0       	1           224.0.0.251
docker0       	1           all-systems.mcast.net
lo              1           ip6-allnodes
lo              1           ff01::1
eth0            1           ff02::fb
eth0            1           ff02::1:ff6a:275b
eth0            1           ip6-allnodes
eth0            1           ff01::1
docker0       	1           ip6-allnodes
docker0       	1           ff01::1

以下是NetStat工具的一些更高级和杂项命令

9)列出给定端口的活动连接

以下命令显示通过端口80建立的连接的详细信息。
这些详细信息包括协议,源和目标地址和连接状态。
命令:`netstat -anp | Grep:80 | Grep建立了:

tcp 0 0 192.168.64.129:51548 74.125.204.106:80  ESTABLISHED 8418/firefox
tcp 0 0 192.168.64.129:44365 172.217.194.101:80 ESTABLISHED 8418/firefox
tcp 0 0 192.168.64.129:51547 74.125.204.106:80  ESTABLISHED 8418/firefox

10)列出不同连接类型的数量

以下命令显示以升序排序的计算机中的不同类型状态的数字连接:netstat -ant | awk'{print $6}'| sort| uniq -c |sort -n示例输出:

1 CLOSE_WAIT
1 established)
1 Foreign
7 LISTEN

11)显示服务侦听给定端口的服务

这将显示关于侦听端口53的服务的详细信息,例如服务和服务名称命令的进程ID:`netstat -ltnp | Grep':53'':

tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1488/dnsmasq

12)列出非支持地址系列

在以下命令的输出底部,显示机器中非支持地址系列的详细信息。
命令:`netstat - 鼠标:

netstat: no support for `AF IPX' on this system.
netstat: no support for `AF AX25' on this system.
netstat: no support for `AF X25' on this system.
netstat: no support for `AF NETROM' on this system.

13)找出服务运行的端口

这用于了解'SSH'服务正在侦听的端口的详细信息以及SSH服务本身的详细信息命令:netstat -ap | Grep SSH输出示例:

unix 2 [ ACC ] STREAM LISTENING 21843 4004/ssh-agent /tmp/ssh-8rfNCLtCuWbJ/agent.4000
unix 2 [ ACC ] STREAM LISTENING 22603 3927/gnome-keyring- /run/user/1000/keyring-SC0TKd/ssh

'man netstat'命令

  • man命令用于查看命令的手动页面,并显示netstat命令的手动页面。它列出了具有解释和示例的此命令可用的所有使用选项。
    命令:"人netstat"输出示例:
DESCRIPTION
       Netstat  prints  information about the Linux networking subsystem.  The
       type of information printed is controlled by  the  first  argument,  as
       follows:
   (none)
       By  default,  netstat  displays  a  list of open sockets.  If you don't
       specify any address families, then the active sockets of all configured
       address families will be printed.
   --route , -r
       Display  the kernel routing tables. See the description in route(8) for
       details.  netstat -r and route -e produce the same output.
   --groups , -g
       Display multicast group membership information for IPv4 and IPv6.
   --interfaces, -i
       Display a table of all network interfaces.
   --masquerade , -M
       Display a list of masqueraded connections.
   --statistics , -s
       Display summary statistics for each protocol.