Linux netstat命令介绍

  关注Linux的系统状态,主要从两个角度出发,一个角度是系统正在运行什么服务(ps命令);另外一个就是有什么连接或服务可用(netstat命令)。netstat还可以显示ps无法显示的、从inetd或xinetd中运行的服务,比如telnet等。

1.功能与说明

netstat 用于显示linux中各种网络相关信息。如网络链接、路由表、接口状态链接、多播成员等等。

2.参数含义介绍

-a (all)显示所有选项,默认不显示LISTEN相关(本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请(LISTENING)的那些连接。)
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表(本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。)
-e 显示扩展信息,例如uid等(本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。)
-s 按各个协议进行统计(本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么我们就可以用本选项来查看一下所显示的信息。我们需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。)
-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

3.常用实例

3.1  列出所有端口

 netstat -a

[[email protected] jiehun]# netstat -a|more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 *:sunrpc                    *:*                         LISTEN
tcp        0      0 *:webcache                  *:*                         LISTEN
tcp        0      0 *:http                      *:*                         LISTEN
tcp        0      0 192.168.122.1:domain        *:*                         LISTEN
tcp        0      0 localhost.localdomain:d-s-n *:*                         LISTEN
tcp        0      0 *:ssh                       *:*                         LISTEN
tcp        0      0 localhost.loc:simplifymedia *:*                         LISTEN  

上述显示中,

"Proto"是 Protocol 的简称,它可以是 TCP 或 UDP。

"Recv-Q"和"Send-Q"指的是接收队列和发送队列,这些数字一般都应该是 0,如果不是,则表示软件包正在队列中堆积。这种情况只能在非常短的时间内存在,比如在 KMail 中单击检查邮件按钮时,有如下显示是正常现象:

tcp 0 593 192.168.1.5:34321 venus.euao.com:smtp ESTABLISHED

  如果接收队列持续处于阻塞状态,那么很有可能受到了拒绝式服务的攻击。如果发送队列不能被快速清除,则可能是因为有一个应用程序不能将所要发送的东西传送完。

"Local Address" 指本机的 IP 和端口号。

"Foreign Address"指所要连接的主机名称和服务。

"State"指现在连接的状态。

三种常见的 TCP 状态如下所示:

a) LISTEN 等待接收连接;

b) ESTABLISHED 一个处于活跃状态的连接;

c) TIME_WAIT 一个刚被终止的连接。它只持续 1 至 2 分钟,然后就会变成 LISTEN 状态。

由于 UDP 是无状态的,所以其 State 栏总是空白。

持续获取有用信息

使用"netstat -a"命令,显示结果可能会有数百行。其实,在这些结果中可以忽略所有"Active Unix domain sockets"以后的内容。因为这些内容是本地内部进程之间的通信,而不是网络连接。使用以下命令可以避免显示无用信息:

$ netstat --inet -a

" netstat --inet -a" 命令的显示结果将只有网络连接,包括所有正处在"LISTEN"状态和"ESTABLISHED"状态的。需要特别注意的是,对于普通用户而言,一般不需要使用 telnet 或 SMTP 服务。因此需要将其关闭,以提高系统安全性;并且要重新配置启动文件,以保证它们不会在下次系统启动时自动重新启动。要想持续不断地查看随时都在更改的网络信息,可以使用 netstat 命令的"-c"参数,并且将结果存入文件中:

$ netstat --inet -a -c > netstat.txt

这时,查看 netstat.txt 文件即可检查邮件服务、Web 服务和 telnet 服务等的状态变化。

3.2  列出所有tcp端口

[[email protected] jiehun]# netstat -at|more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 *:sunrpc                    *:*                         LISTEN
tcp        0      0 *:webcache                  *:*                         LISTEN
tcp        0      0 *:http                      *:*                         LISTEN
tcp        0      0 192.168.122.1:domain        *:*                         LISTEN
tcp        0      0 localhost.localdomain:d-s-n *:*                         LISTEN
tcp        0      0 *:ssh                       *:*                         LISTEN
tcp        0      0 localhost.loc:simplifymedia *:*                         LISTEN  

3.3 列出所有udp端口

 netstat -au

[[email protected] jiehun]# netstat -au|more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
udp        0      0 *:ideafarm-panic            *:*
udp        0      0 *:47005                     *:*
udp        0      0 localhost.loca:memcache     *:*
udp        0      0 *:55276                     *:*
udp        0      0 192.168.122.1:domain        *:*
udp        0      0 *:bootps                    *:*
udp        0      0 *:bootpc                    *:*
udp        0      0 *:sunrpc                    *:*
udp        0      0 *:ipp                       *:*
udp        0      0 *:44236                     *:*
udp        0      0 *:722                       *:*                                     

3.4 只显示正在处于监听状态的端口 netstat -l

[[email protected] jiehun]# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 *:sunrpc                    *:*                         LISTEN
tcp        0      0 *:webcache                  *:*                         LISTEN
tcp        0      0 *:http                      *:*                         LISTEN
tcp        0      0 192.168.122.1:domain        *:*                         LISTEN
tcp        0      0 localhost.localdomain:d-s-n *:*                         LISTEN
tcp        0      0 *:ssh                       *:*                         LISTEN
tcp        0      0 localhost.loc:simplifymedia *:*                         LISTEN
tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN
tcp        0      0 *:44343                     *:*                         LISTEN
tcp        0      0 localhost.localdomain:smtp  *:*                         LISTEN    

3.5 只显示监听的tcp端口 netstat -lt

[[email protected] jiehun]# netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 *:sunrpc                    *:*                         LISTEN
tcp        0      0 *:webcache                  *:*                         LISTEN
tcp        0      0 *:http                      *:*                         LISTEN
tcp        0      0 192.168.122.1:domain        *:*                         LISTEN
tcp        0      0 localhost.localdomain:d-s-n *:*                         LISTEN
tcp        0      0 *:ssh                       *:*                         LISTEN
tcp        0      0 localhost.loc:simplifymedia *:*                         LISTEN
tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN
tcp        0      0 *:44343                     *:*                         LISTEN
tcp        0      0 localhost.localdomain:smtp  *:*                         LISTEN     

3.6 只显示所有监听udp端口 netstat -lu

[[email protected] jiehun]# netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
udp        0      0 *:ideafarm-panic            *:*
udp        0      0 *:47005                     *:*
udp        0      0 *:47551                     *:*
udp        0      0 localhost.loca:memcache     *:*
udp        0      0 *:55276                     *:*
udp        0      0 192.168.122.1:domain        *:*
udp        0      0 *:bootps                    *:*
udp        0      0 *:bootpc                    *:*
udp        0      0 *:sunrpc                    *:*      

3.7  只列出所有监听unix端口 netstat -lx

[[email protected] jiehun]# netstat -lx
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     21941  /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     34096  /tmp/orbit-haozheng/linc-cd2-0-5b33fa1ecf0c9
unix  2      [ ACC ]     STREAM     LISTENING     22263  @/tmp/gdm-greeter-cBlQsyRF
unix  2      [ ACC ]     STREAM     LISTENING     32728  /tmp/.ICE-unix/3103
unix  2      [ ACC ]     STREAM     LISTENING     36866  @/tmp/dbus-AcJrBlWF
unix  2      [ ACC ]     STREAM     LISTENING     20454  /tmp/mysql.sock

3.8  显示所有端口的统计信息 netstat -s

[[email protected] jiehun]# netstat -s
Ip:
    1943780 total packets received
    2 forwarded
    0 incoming packets discarded
    1769532 incoming packets delivered
    1121573 requests sent out
    132 outgoing packets dropped
    45867 dropped because of missing route
Tcp:
    64002 active connections openings
    7632 passive connection openings
    2309 failed connection attempts
    498 connection resets received
    8 connections established
    1018564 segments received
    1022700 segments send out
    16835 segments retransmited
    2 bad segments received.
    552 resets sent
Udp:
    133420 packets received
    7845 packets to unknown port received.
    0 packet receive errors
    74841 packets sent
    0 receive buffer errors
    0 send buffer errors

3.9 显示所有tcp(netstat -st)或udp(netstat -su)的统计信息

[[email protected] jiehun]# netstat -su
IcmpMsg:
    InType0: 11
    InType3: 13506
    OutType3: 13679
    OutType8: 11
Udp:
    133462 packets received
    7869 packets to unknown port received.
    0 packet receive errors
    74888 packets sent
    0 receive buffer errors
    0 send buffer errors
UdpLite:
IpExt:
    InNoRoutes: 991
    InMcastPkts: 24308
    OutMcastPkts: 2353
    InBcastPkts: 630615
    OutBcastPkts: 1546
    InOctets: 755319900
    OutOctets: 296705252
    InMcastOctets: 2908748
    OutMcastOctets: 93173
    InBcastOctets: 99500419
    OutBcastOctets: 299980

3.10 显示pid/进程名称 netstat -p   -p可以与其他参数一起使用 比如 显示tcp的进程id信息

[[email protected] jiehun]# netstat -pt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 192.168.0.52:44784          123.150.49.20:http          FIN_WAIT2   4207/VirtualBox
tcp        0      0 192.168.0.52:46715          ie-in-f125.1e100.net:https  ESTABLISHED 4207/VirtualBox
tcp        0      0 192.168.0.52:43415          geotrust-ocsp-mtv.veri:http FIN_WAIT2   4207/VirtualBox     

3.11  在 netstat 输出中不显示主机,端口和用户名 (host, port or user)当你不想让主机,端口和用户名显示,使用 netstat -n,将会使用数字代替那些名称,同样可以加速输出,因为不用进行DNS轮询。netstat -ntpl  显示tcp的监听端口 不显示主机端口用户名 用数字代替

[[email protected] jiehun]# netstat -ptnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      971/rpcbind
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      1526/nginx: master
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1526/nginx: master
tcp        0      0 192.168.122.1:53            0.0.0.0:*                   LISTEN      1248/dnsmasq
tcp        0      0 127.0.0.1:8086              0.0.0.0:*                   LISTEN      1553/python
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1163/sshd
tcp        0      0 127.0.0.1:8087              0.0.0.0:*                   LISTEN      1553/python
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      1140/cupsd
tcp        0      0 0.0.0.0:44343               0.0.0.0:*                   LISTEN      1151/rpc.statd
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      18573/sendmail: acc
tcp        0      0 127.0.0.1:3002              0.0.0.0:*                   LISTEN      1004/ruby
tcp        0      0 0.0.0.0:8000                0.0.0.0:*                   LISTEN      1526/nginx: master  

3.12  一秒钟输出一次tcp监听端口信息 netstat -ntplc

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      971/rpcbind
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      1526/nginx: master
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1526/nginx: master
tcp        0      0 192.168.122.1:53            0.0.0.0:*                   LISTEN      1248/dnsmasq
tcp        0      0 127.0.0.1:8086              0.0.0.0:*                   LISTEN      1553/python
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1163/sshd    

3.13  显示路由信息 netstat -r

[[email protected] jiehun]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         vrouter         0.0.0.0         UG        0 0          0 eth0
192.168.0.0     *               255.255.255.0   U         0 0          0 eth0
192.168.122.0   *               255.255.255.0   U         0 0          0 virb

3.14 显示网络接口列表,检查网卡 netstat -i

[[email protected] jiehun]# 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
eth0       1500   0  4943885      0      0      0   901773      0      0      0 BMRU
lo        16436   0   236931      0      0      0   236931      0      0      0 LRU
virbr0     1500   0        0      0      0      0        0      0      0      0 BMU

  在"RX-OK (Received OK)"和"TX-OK (Transmitted OK)"栏应该看到很多数字,而其它地方的数字应该非常小。如果在"RX-ERR"或"TX-ERR"栏看到很多数据,则很有可能是网卡或网线出现了问题。

时间: 2024-10-05 08:32:08

Linux netstat命令介绍的相关文章

Linux netstat命令详解

Linux netstat命令详解 简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address State

Linux netstat 命令查看80端口状态

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 2 210.34.6.89:t

linux netstat命令

linux netstat命令 netstat命令用来显示用于显示各种网络相关信息:-r:显示路由表-n:以数字方式显示主机地址,不显示名称-t:建立的tcp连接-u:显示udp连接-l:显示监听状态的连接-p:显示指定套接字的进程的进程号及进程名 可以用 kill命令来杀死 原文地址:https://www.cnblogs.com/fps2tao/p/9022012.html

netstat命令介绍-要用熟

这篇文章写的不错: http://www.cnblogs.com/CheeseZH/p/5169498.html 关注Linux的系统状态,主要从两个角度出发,一个角度是系统正在运行什么服务(ps命令):另外一个就是有什么连接或服务可用(netstat命令). netstat还可以显示ps无法显示的.从inetd或xinetd中运行的服务,比如telnet等. 3.常用实例 3.1  列出所有端口 netstat -a [[email protected] jiehun]# netstat -a

(转)Linux netstat命令详解

简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 2 210.34.6.8

Linux常用命令介绍

Linux常用命令示例: 在使用Linux操作系统的过程中,我们经常要用到一些特殊的命令,不仅显示了技术的高超,而且在效率方面当然要比图像化界面高很多,下面我总结了一些常见的Linux命令,供以后学习使用,使用命令时,在命令后面加参数"--help"或者用"man 命令"可以取得命令的详细用法. (*)小常识:在Linux中使用命令操作文件时,可以仅输入文件名的前几个字符,然后按键盘的"Tab"键补全文件名的后面部分,若输入的字符是多个文件名的起

Netstat命令介绍

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接, 多播成员 (Multicast Memberships) 等等. 输出信息含义 执行netstat后,其输出结果为 [[email protected] ~]# netstat Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address          

Linux netstat 命令

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 输出信息含义 执行netstat后,其输出结果为 复制代码 Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 2 210.34

Linux基础命令介绍 - 1

因工作需要,最近再复习一下Linux的基础知识,看了一下马哥的视频,听归听,还是做一下笔记,加深一下印象吧.分享一下学习的知识点. 关于选择发行版本,个人偏向于CentOS,完全兼容RedHat的,其实二者唯一的区别是一个免费,一个收点服务费,其它都一样,名字不同而已. 马哥三说Linux的哲学思想是:一切皆文件.铭记于心就好!哈哈! Linux文件系统: 1. 文件名名称严格区分字符大小写:file1,File1,FILE1代表了3个不同的文件. 2. 文件名可以使用除/以外的任意字符,但不建