Linux的netstat命令

x33g5p2x  于2020-09-08 发布在 Linux  
字(5.0k)|赞(0)|评价(0)|浏览(377)

netstat命令是一个网络管理类命令,可以显示IP、TCP、UDP和ICMP协议相关的统计数据,一般用来检验主机端口的网络连接情况。

netstat命令格式

netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

netstat命令常用的参数

-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 显示网络硬件外围设备的符号连接名称。
-o或--timers 显示计时器。
-p或--programs 显示正在使用Socket的程序识别码和程序名称。
-r或--route 显示Routing Table。
-s或--statistice 显示网络工作信息统计表。
-t或--tcp 显示TCP传输协议的连线状况。
-u或--udp 显示UDP传输协议的连线状况。
-v或--verbose 显示指令执行过程。
-V或--version 显示版本信息。
-w或--raw 显示RAW传输协议的连线状况。
-x或--unix 此参数的效果和指定"-A unix"参数相同。
--ip或--inet 此参数的效果和指定"-A inet"参数相同。

套接口类型:

-t :TCP

-u :UDP

-raw :RAW类型

--unix :UNIX域类型

--ax25 :AX25类型

--ipx :ipx类型

--netrom :netrom类型

状态说明:

LISTEN:侦听来自远方的TCP端口的连接请求

SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)

SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)

ESTABLISHED:代表一个打开的连接

FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:从远程TCP等待连接中断请求

CLOSE-WAIT:等待从本地用户发来的连接中断请求

CLOSING:等待远程TCP对连接中断的确认

LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)

TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED:没有任何连接状态

netstat命令 应用实例

  • 1、查看主机网络连接情况
[root@localhost ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 localhost:ssh               localhost:58131             ESTABLISHED 
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ]         DGRAM                    8865   @/org/kernel/udev/udevd
unix  2      [ ]         DGRAM                    12623  @/org/freedesktop/hal/udev_event
unix  17     [ ]         DGRAM                    12026  /dev/log
unix  2      [ ]         DGRAM                    24392  
unix  3      [ ]         STREAM     CONNECTED     24230  
··················································································
unix  3      [ ]         STREAM     CONNECTED     13929  
unix  2      [ ]         DGRAM                    13501  
unix  2      [ ]         DGRAM                    13465  
unix  2      [ ]         DGRAM                    13383  
unix  2      [ ]         DGRAM                    13381  
unix  3      [ ]         STREAM     CONNECTED     13374  
unix  3      [ ]         STREAM     CONNECTED     13373  
···········································································
unix  3      [ ]         STREAM     CONNECTED     12899  /var/run/acpid.socket
unix  3      [ ]         STREAM     CONNECTED     12898  
unix  3      [ ]         STREAM     CONNECTED     12893  @/var/run/hald/dbus-8Ywl3oTz4Y
unix  3      [ ]         STREAM     CONNECTED     12890  
unix  3      [ ]         STREAM     CONNECTED     12852  @/var/run/hald/dbus-8Ywl3oTz4Y
unix  3      [ ]         STREAM     CONNECTED     12851  
unix  3      [ ]         STREAM     CONNECTED     12618  @/var/run/hald/dbus-ctao2jY4bh
unix  3      [ ]         STREAM     CONNECTED     12617  
unix  3      [ ]         STREAM     CONNECTED     12593  /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     12592  
unix  2      [ ]         DGRAM                    12562  
unix  3      [ ]         STREAM     CONNECTED     12432  /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     12431  
unix  2      [ ]         DGRAM                    12398  
unix  3      [ ]         STREAM     CONNECTED     12299  /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     12298  
unix  2      [ ]         DGRAM                    12297  
unix  3      [ ]         STREAM     CONNECTED     12263  /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     12262  
unix  3      [ ]         STREAM     CONNECTED     12244  /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     12243  
unix  2      [ ]         DGRAM                    12237  
unix  3      [ ]         STREAM     CONNECTED     12211  /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     12210  
unix  3      [ ]         STREAM     CONNECTED     12204  
unix  3      [ ]         STREAM     CONNECTED     12203  
unix  3      [ ]         DGRAM                    8883   
unix  3      [ ]         DGRAM                    8882   

说明:

netstat的输出结果可以分为两个部分:

一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。

另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

  • 2、显示主机所有端口
[root@localhost ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:ipp               *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN      
tcp        0     64 localhost:ssh               localhost:58131             ESTABLISHED 
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:ipp               *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN      
udp        0      0 *:bootpc                    *:*                                     
udp        0      0 *:ipp                       *:*                                     
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     16644  /tmp/orbit-root/linc-8e4-0-370106e1a6966
unix  2      [ ACC ]     STREAM     LISTENING     16671  /tmp/orbit-root/linc-8f1-0-3f34f9b3ae2fd
unix  2      [ ACC ]     STREAM     LISTENING     16756  /tmp/orbit-root/linc-8f9-0-2fa38bdcc4688
·································································································
  • 3、显示UDP连接状况
[root@localhost ~]# netstat -nu
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
  • 4、显示UDP端口使用情况
[root@localhost ~]# netstat -apu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
udp        0      0 *:bootpc                    *:*                                     1701/dhclient       
udp        0      0 *:ipp                       *:*                                     1700/cupsd          
  • 5、显示网卡列表信息
[root@localhost ~]# 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     2605      0      0      0      238      0      0      0 BMRU
lo        16436   0       12      0      0      0       12      0      0      0 LRU
  • 6、显示所有TCP端口
[root@localhost ~]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:ipp               *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN      
tcp        0     64 localhost:ssh               localhost:58131             ESTABLISHED 
tcp        0      0 *:ssh                       *:*                         LISTEN      
tcp        0      0 localhost:ipp               *:*                         LISTEN      
tcp        0      0 localhost:smtp              *:*                         LISTEN      
  • 7、找出运行在指定端口的进程
[root@localhost ~]#netstat -anpt | grep ':80'
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      1309/monitorix-http 
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1128/httpd          
tcp        0      0 192.168.124.17:80           162.244.95.175:32802        TIME_WAIT   -

相关文章