Linux netstat命令详解

简介

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

输出信息含义

执行netstat后,其输出结果为


  1. Active Internet connections (w/o servers) 
  2. Proto Recv-Q Send-Q Local Address Foreign Address State 
  3. tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED 
  4. tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED 
  5. tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED 
  6. tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED 
  7. tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE 
  8.  
  9. Active UNIX domain sockets (w/o servers) 
  10. Proto RefCnt Flags Type State I-Node Path 
  11. unix 1 [ ] STREAM CONNECTED 16178 @000000dd 
  12. unix 1 [ ] STREAM CONNECTED 16176 @000000dc 
  13. unix 9 [ ] DGRAM 5292 /dev/log 
  14. unix 1 [ ] STREAM CONNECTED 16182 @000000df  

从整体上看,netstat的输出结果可以分为两个部分:

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

另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

常见参数

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。 

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

实用命令实例

1.列出所有端口 (包括监听和未监听的)

列出所有端口 netstat -a


  1. # netstat -a | more 
  2.  Active Internet connections (servers and established) 
  3.  Proto Recv-Q Send-Q Local Address           Foreign Address         State 
  4.  tcp        0      0 localhost:30037         *:*                     LISTEN 
  5.  udp        0      0 *:bootpc                *:* 
  6.   
  7. Active UNIX domain sockets (servers and established) 
  8.  Proto RefCnt Flags       Type       State         I-Node   Path 
  9.  unix  2      [ ACC ]     STREAM     LISTENING     6135     /tmp/.X11-unix/X0 
  10.  unix  2      [ ACC ]     STREAM     LISTENING     5140     /var/run/acpid.socket  

列出所有 tcp 端口 netstat -at


  1. # netstat -at 
  2.  Active Internet connections (servers and established) 
  3.  Proto Recv-Q Send-Q Local Address           Foreign Address         State 
  4.  tcp        0      0 localhost:30037         *:*                     LISTEN 
  5.  tcp        0      0 localhost:ipp           *:*                     LISTEN 
  6.  tcp        0      0 *:smtp                  *:*                     LISTEN 
  7.  tcp6       0      0 localhost:ipp           [::]:*                  LISTEN  

列出所有 udp 端口 netstat -au


  1. # netstat -au 
  2.  Active Internet connections (servers and established) 
  3.  Proto Recv-Q Send-Q Local Address           Foreign Address         State 
  4.  udp        0      0 *:bootpc                *:* 
  5.  udp        0      0 *:49119                 *:* 
  6.  udp        0      0 *:mdns                  *:*  

2. 列出所有处于监听状态的 Sockets

只显示监听端口 netstat -l


  1. # netstat -l 
  2.  
  3.  Active Internet connections (only servers) 
  4.  Proto Recv-Q Send-Q Local Address           Foreign Address         State 
  5.  tcp        0      0 localhost:ipp           *:*                     LISTEN 
  6.  tcp6       0      0 localhost:ipp           [::]:*                  LISTEN 
  7.  udp        0      0 *:49119                 *:*  

只列出所有监听 tcp 端口 netstat -lt


  1. # netstat -lt 
  2.  Active Internet connections (only servers) 
  3.  Proto Recv-Q Send-Q Local Address           Foreign Address         State 
  4.  tcp        0      0 localhost:30037         *:*                     LISTEN 
  5.  tcp        0      0 *:smtp                  *:*                     LISTEN 
  6.  tcp6       0      0 localhost:ipp           [::]:*                  LISTEN  

只列出所有监听 udp 端口 netstat -lu


  1. # netstat -lu 
  2.  Active Internet connections (only servers) 
  3.  Proto Recv-Q Send-Q Local Address           Foreign Address         State 
  4.  udp        0      0 *:49119                 *:* 
  5.  udp        0      0 *:mdns                  *:*  

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


  1. # netstat -lx  
  2. Active UNIX domain sockets (only servers) 
  3.  Proto RefCnt Flags       Type       State         I-Node   Path 
  4.  unix  2      [ ACC ]     STREAM     LISTENING     6294     private/maildrop 
  5.  unix  2      [ ACC ]     STREAM     LISTENING     6203     public/cleanup 
  6.  unix  2      [ ACC ]     STREAM     LISTENING     6302     private/ifmail 
  7.  unix  2      [ ACC ]     STREAM     LISTENING     6306     private/bsmtp  

作者:asoren

来源:51CTO

时间: 2024-08-31 00:22:32

Linux netstat命令详解的相关文章

Linux管道命令详解

Linux的管道命令是'|',通过它可以对数据进行连续处理,其示意图如下: 注意: 1)管道命令仅为处理标准输出(即正确的输出),对于标准错误输出,将忽略 2)管理命令的后一个命令必须能将前一个命令的标准输出变为它的标准输入才可以,如 less,more,head,tail就可以,而ls, cp, mv就不行. 下面我们看几个管道命令. cut - 列选取命令 cut以行为单位,根据分隔符把行分成若干列,这样我们就可以指定选取哪些列了. cut -d '分隔字符' -f 选取的列数 echo $

linux iostat命令详解和使用实例

 它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析.iostat属于sysstat软件包.可以用yum install sysstat 直接安装. 1.命令格式: iostat[参数][时间][次数] 2.命令功能:   通过iostat方便查看CPU.网卡.tty设备.磁盘.CD-ROM 等等设备的活动情况, 负载信息. 3.命令参数: -C 显示CPU使用情况 -d 显示磁

Linux mktemp命令详解 Linux mktemp命令怎么用

mktemp建立的一个暂存文件,供shell script使用. 语法 mktemp [-qu][文件名参数] 参数: -q  执行时若发生错误,不会显示任何信息. -u  暂存文件会在mktemp结束前先行删除. [文件名参数]  文件名参数必须是以"自订名称.XXXXXX"的格式. 实例 使用mktemp 命令生成临时文件时,文件名参数应当以"文件名.XXXX"的形式给出,mktemp 会根据文件名参数建立一个临时文件.在命令行提示符输入如下命令: mktemp

Linux chmod命令详解

Linux chmod命令详解 chmod--改变一个或多个文件的存取模式(mode) chmod [options] mode files 只能文件属主或特权用户才能使用该功能来改变文件存取模式.mode可以是数字形式或以who opcode permission形式表示.who是可选的,默认是a(所有用户).只能选择一个opcode(操作码).可指定多个mode,以逗号分开. options: -c,–changes 只输出被改变文件的信息 -f,–silent,–quiet 当chmod不

【Linux】Linux crontab 命令详解

原文来自:http://ir.hit.edu.cn/~wsong/development/crontab.htmlLinux crontab 命令详解 在 Linux 中,任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行.红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新.譬如,被 locate 命令使用的 slocate 数据库每日都被更新.系统管理员可使用自动化的任务来执行定期备份.监控系统.运行定制脚本等等. 红帽企业 Linux

Linux cd命令详解 Linux cd命令怎么用

其中 dirName 表示法可为绝对路径或相对路径.若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录). 另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录. 语法 cd [dirName] dirName:要切换的目标目录. 实例 跳到 /usr/bin/ : cd /usr/bin 跳到自己的 home 目录 : cd ~ 跳到目前目录

Linux declare命令详解 Linux declare命令怎么用

declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数.若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令的效果相同). 语法 declare [+/-][rxi][变量名称=设置值] 或 declare -f 参数说明: +/-  "-"可用来指定变量的属性,"+"则是取消变量所设的属性. -f  仅显示函数. r  将变量设置为只读. x  指定的变量会

Linux ftp命令详解 Linux ftp命令怎么用

FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身. 语法 ftp [-dignv][主机名称或IP地址] 参数: -d 详细显示指令执行过程,便于排错或分析程序执行的情形. -i 关闭互动模式,不询问任何问题. -g 关闭本地主机文件名称支持特殊字符的扩充特性. -n 不使用自动登陆. -v 显示指令执行过程. 实例 例如使用ftp命令匿名登录ftp.kernel.org服务器,该服务是Linux 内核的官方服务器,可以使用如下命令: ftp ftp.kernel.

Linux zipinfo命令详解 Linux zipinfo命令怎么用

pnux zipinfo命令用于列出压缩文件信息,执行zipinfo指令可得知zip压缩文件的详细信息. 语法 zipinfo [-12hlmMstTvz][压缩文件][文件...][-x <范本样式>] 参数: -1 只列出文件名称. -2 此参数的效果和指定"-1"参数类似,但可搭配"-h","-t"和"-z"参数使用. -h 只列出压缩文件的文件名称. -l 此参数的效果和指定"-m"参数