这篇文章写的不错:

http://www.cnblogs.com/CheeseZH/p/5169498.html

关注Linux的系统状态,主要从两个角度出发,一个角度是系统正在运行什么服务(ps命令);另外一个就是有什么连接或服务可用(netstat命令)。

netstat还可以显示ps无法显示的、从inetd或xinetd中运行的服务,比如telnet等。

3.常用实例

3.1  列出所有端口

  1. netstat -a
  1. [root@zhz jiehun]# 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 *:sunrpc *:* LISTEN
  5. tcp 0 0 *:webcache *:* LISTEN
  6. tcp 0 0 *:http *:* LISTEN
  7. tcp 0 0 192.168.122.1:domain *:* LISTEN
  8. tcp 0 0 localhost.localdomain:d-s-n *:* LISTEN
  9. tcp 0 0 *:ssh *:* LISTEN
  10. tcp 0 0 localhost.loc:simplifymedia *:* LISTEN

上述显示中, "Proto"是 Protocol 的简称,它可以是 TCP 或 UDP。

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

  1. 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"以后的内容。因为这些内容是本地内部进程之间的通信,而不是网络连接。使用以下命令可以避免显示无用信息:

  1. $ netstat --inet -a

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

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

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

3.2  列出所有tcp端口

  1. [root@zhz jiehun]# netstat -at|more
  2. Active Internet connections (servers and established)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State
  4. tcp *:sunrpc *:* LISTEN
  5. tcp *:webcache *:* LISTEN
  6. tcp *:http *:* LISTEN
  7. tcp 192.168.122.1:domain *:* LISTEN
  8. tcp localhost.localdomain:d-s-n *:* LISTEN
  9. tcp *:ssh *:* LISTEN
  10. tcp localhost.loc:simplifymedia *:* LISTEN

3.3 列出所有udp端口

netstat -au

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

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

  1. [root@zhz jiehun]# netstat -s
  2. Ip:
  3. total packets received
  4. forwarded
  5. incoming packets discarded
  6. incoming packets delivered
  7. requests sent out
  8. outgoing packets dropped
  9. dropped because of missing route
  10. Tcp:
  11. active connections openings
  12. passive connection openings
  13. failed connection attempts
  14. connection resets received
  15. connections established
  16. segments received
  17. segments send out
  18. segments retransmited
  19. bad segments received.
  20. resets sent
  21. Udp:
  22. packets received
  23. packets to unknown port received.
  24. packet receive errors
  25. packets sent
  26. receive buffer errors
  27. send buffer errors

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

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

  1. [root@zhz jiehun]# netstat -pt
  2. Active Internet connections (w/o servers)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  4. tcp 192.168.0.52: 123.150.49.20:http FIN_WAIT2 /VirtualBox
  5. tcp 192.168.0.52: ie-in-f125.1e100.net:https ESTABLISHED /VirtualBox
  6. tcp 192.168.0.52: geotrust-ocsp-mtv.veri:http FIN_WAIT2 /VirtualBox

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

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

3.13  显示路由信息 netstat -r

  1. [root@zhz jiehun]# netstat -r
  2. Kernel IP routing table
  3. Destination Gateway Genmask Flags MSS Window irtt Iface
  4. default vrouter 0.0.0.0 UG eth0
  5. 192.168.0.0 * 255.255.255.0 U eth0
  6. 192.168.122.0 * 255.255.255.0 U virb

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

  1. [root@zhz jiehun]# netstat -i
  2. Kernel Interface table
  3. Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
  4. eth0 BMRU
  5. lo LRU
  6. virbr0 BMU

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

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才能看到

netstat命令介绍-要用熟的更多相关文章

  1. Linux netstat命令介绍

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

  2. linux netstat 命令详解

    linux netstat 命令详解 1.功能与说明 netstat 用于显示linux中各种网络相关信息.如网络链接 路由表  接口状态链接 多播成员等等. 2.参数含义介绍 -a (all)显示所 ...

  3. Linux系统采用netstat命令查看DDOS攻击的方法

    Linux系统采用netstat命令查看DDOS攻击的方法 来源:互联网 作者:佚名 时间:07-05 15:10:21 [大 中 小] 这篇文章主要为大家介绍了Linux系统采用netstat命令查 ...

  4. Android Debug Bridge命令介绍[转]

    Android Debug Bridge命令介绍 Android Debug Bridge的一些基本命令.这个工具直译过来就是Android调试桥的意思.它提供了强大的特性,例如复制文件到设备或从设备 ...

  5. Hadoop生态圈-zookeeper本地搭建以及常用命令介绍

    Hadoop生态圈-zookeeper本地搭建以及常用命令介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.下载zookeeper软件 下载地址:https://www.ap ...

  6. Linux netstat命令具体解释

    简单介绍 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表.接口状态 (Interface Statistics).masquerade 连接,多播成员 (Multicast Memb ...

  7. Linux性能监控分析命令(五)—free命令介绍

    性能监控分析的命令包括如下:1.vmstat2.sar3.iostat4.top5.free6.uptime7.netstat8.ps9.strace10.lsof 命令介绍:free命令是监控Lin ...

  8. Linux性能监控分析命令(三)—iostat命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof 命令介绍: i ...

  9. Linux性能监控分析命令(四)—top命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...

随机推荐

  1. LuoguP4365 [九省联考2018]秘密袭击

    https://zybuluo.com/ysner/note/1141136 题面 求一颗大小为\(n\)的树取联通块的所有方案中,第\(k\)个数之和. \(n\leq1,667,k\leq n\) ...

  2. CentOS7 网卡名称重命名为eth*

    CentOS7 禁用网卡名称命名规则,启动时传递"net.ifnames=0 biosdevname=0"/etc/default/grupgrup2-mkconfig -o /b ...

  3. Ruby 各种离奇运算符

    创建: 20170717 更新: 改变分类 Rails ---> Ruby 更新: 2017/10/16 增加&., #try 参考: 传送门  ||=   a ||= b相当于 a = ...

  4. Azure Command Line(Azure CLI)指南

    1.安装. MSI安装程序:https://aka.ms/installazurecliwindows https://docs.microsoft.com/zh-cn/cli/azure/insta ...

  5. Git教程(3)git工作区与文件状态及简单示例

    基础 目录: working driectory  工作目录,就是我们的工作目录,其中包括未跟踪文件及暂存区和仓库目录. staging area   暂存区,不对应一个具体目录,其实只是git di ...

  6. 7.union

    联合结果集union 简单的结果集联合: select number,name,age from emp union select cardnumber,name,age from emp2 基本的原 ...

  7. SQLServer 在存储过程里使用事务控制的简单小例子

    alter proc sp_test(     @name varchar(50))asbegin    --开始事务   begin transaction   --设置一个存储报错代码的变量   ...

  8. python--2、数据类型

    字符串 name='jinyudong' 按索引取值.正向取 与 反向取 name['3'] 'y' name['-3'] 'o' 切片(若要使用倒序指定步长为-1),开始或者结束不指定即为到最边上的 ...

  9. 创建dml触发器

    -实现删除学生信息时把该学生的成绩记录全部清空 --判断触发器是否存在 if exists(select * from sysobjects where name = 'delete_student' ...

  10. dubbo之负载均衡

    在集群负载均衡时,Dubbo提供了多种均衡策略,缺省为random随机调用. Random LoadBalance 随机,按权重设置随机概率. 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按 ...