Linux NetStat命令示例
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.