Linux中的netstat命令详解

前面我们学习了网络的有关基础知识,今天我们来介绍一个Linux下面的关于网络的一个重要指令——netstat.


功能说明

netstat是基于Netstat这个命令行工具的指令,它可以用来查询系统上的网络套接字连接情况,包括tcp,udp以及Unix套接字;另外它还能列出路由表,接口状态和多播成员等信息。


主要选项

关于netstat命令的选项有很多,这里我们只介绍常见选项,关于选项和选项的作用如下图: 
这里写图片描述


实例演示

netstat -a

这条命令会列出所有的端口,包括监听的和未监听的。


netstat -t

列出所有的tcp协议的端口,结果如下:

[root@bogon Test2017_3_7]# netstat -at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:1024 *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 localhost:smtp *:* LISTEN tcp 0 0 localhost:40312 localhost:1024 ESTABLISHED tcp 0 0 localhost:1024 localhost:40312 ESTABLISHED tcp 0 0 *:ssh *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 localhost:smtp *:* LISTEN

netstat -ua

同样,这条命令表示列出所有的UDP协议的端口。


找出程序运行的端口

netstat -ap | grep '程序名'

例如:

[root@bogon Test2017_3_7]# netstat -ap | grep './server' tcp 0 0 localhost:1024 *:* LISTEN6130/./server tcp 0 0 localhost:1024 localhost:40312 ESTABLISHED 6130/./server You have new mail in /var/spool/mail/lzh

找出端口的程序名

netstat -ap | grep '端口号'

例如:

[root@bogon Test2017_3_7]# netstat -ap | grep '1024' tcp 0 0 localhost:1024 *:* LISTEN 6130/./server tcp 0 0 localhost:40312 localhost:1024 ESTABLISHED 6323/./client tcp 0 0 localhost:1024 localhost:40312 ESTABLISHED 6130/./server

禁止域名解析 
这个主要netstat中的-n选项有关,我们先来看看不带n时所输出的结果。

[root@bogon Test2017_3_7]# netstat -ltp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 localhost:1024 *:* LISTEN6130/./server tcp 0 0 *:ssh *:* LISTEN 1800/sshd tcp 0 0 localhost:ipp *:* LISTEN 1690/cupsd tcp0 0 localhost:smtp *:* LISTEN 1925/master tcp 0 0 *:ssh *:* LISTEN 1800/sshd tcp 0 0 localhost:ipp *:* LISTEN 1690/cupsd tcp 0 0 localhost:smtp *:* LISTEN 1925/master

下面我们再来看看加上n 选项后的输入结果。

[root@bogon Test2017_3_7]# netstat -nltp Active Internet connections (only servers) Proto Recv-QSend-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:1024 0.0.0.0:* LISTEN 6130/./server tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1800/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1690/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1925/master tcp 0 0 :::22 :::* LISTEN 1800/sshd tcp 0 0 ::1:631 :::* LISTEN 1690/cupsd tcp 0 0 ::1:25 :::* LISTEN 1925/master

我们发现在local address 即主机地址这一栏中,如果没有带n选项,会将套接字所对应的域名解析出来,如果加上n选项,那么就不会显示,即禁止域名解析的功能,这样做有助于提高查询速度,因为减少了对主机域名的查询。


持续输出netstat信息

这个没有什么好说的,大家自己试一试指令即可。

netstat -c**

显示路由表的信息

netstat -r

这条指令相当于route指令,会输出核心路由信息。

[root@bogon Test2017_3_7]# netstat -nr Kernel IP routing table Destination Gateway Genmask FlagsMSS Window irtt Iface 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.3.1 0.0.0.0UG 0 0 0 eth0

显示接口信息

netstat -i
root@bogon Test2017_3_7]# 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 5277 0 0 0 578 0 0 0 BMRU lo 16436 0 820 0 0 0 8200 0 0 LRU

分类统计各个协议的相关信息

netstat -sa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值