Welcome 微信登录

首页 / 操作系统 / Linux / Netstat 的10个基本用法

Netstat 简介

Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使 netstat 成为网管和系统管理员的必备利器。在这篇教程中,我会列出几个例子,教大家如何使用 netstat 去查找网络连接信息和系统开启的端口号。以下的简单介绍来自 netstat 的 man 手册:
netstat - 打印网络连接、路由表、连接的数据统计、伪装连接以及广播域成员。

1. 列出所有连接

第一个要介绍的,是最简单的命令:列出所有当前的连接。使用 -a 选项即可。$ netstat -aActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp00 enlightened:domain*:* LISTEN tcp00 localhost:ipp *:* LISTEN tcp00 enlightened.local:54750 li240-5.members.li:http ESTABLISHEDtcp00 enlightened.local:49980 del01s07-in-f14.1:https ESTABLISHEDtcp6 00 ip6-localhost:ipp [::]:*LISTEN udp00 enlightened:domain*:*udp00 *:bootpc*:*udp00 enlightened.local:ntp *:*udp00 localhost:ntp *:*udp00 *:ntp *:*udp00 *:58570 *:*udp00 *:mdns*:*udp00 *:49459 *:*udp6 00 fe80::216:36ff:fef8:ntp [::]:* udp6 00 ip6-localhost:ntp [::]:* udp6 00 [::]:ntp[::]:* udp6 00 [::]:mdns [::]:* udp6 00 [::]:63811[::]:* udp6 00 [::]:54952[::]:* Active UNIX domain sockets (servers and established)Proto RefCnt Flags Type State I-Node Pathunix2[ ACC ] STREAM LISTENING 12403@/tmp/dbus-IDgfj3UGXXunix2[ ACC ] STREAM LISTENING 40202@/dbus-vfs-daemon/socket-6nUC6CCx上述命令列出 tcp, udp 和 unix 协议下所有套接字的所有连接。然而这些信息还不够详细,管理员往往需要查看某个协议或端口的具体连接情况。

2. 只列出 TCP 或 UDP 协议的连接

使用 -t 选项列出 TCP 协议的连接:$ netstat -atActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp00 enlightened:domain*:* LISTEN tcp00 localhost:ipp *:* LISTEN tcp00 enlightened.local:36310 del01s07-in-f24.1:https ESTABLISHEDtcp00 enlightened.local:45038 a96-17-181-10.depl:http ESTABLISHEDtcp00 enlightened.local:37892 ABTS-North-Static-:http ESTABLISHED.....使用 -u 选项列出 UDP 协议的连接:$ netstat -auActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Stateudp00 *:34660 *:*udp00 enlightened:domain*:*udp00 *:bootpc*:*udp00 enlightened.local:ntp *:*udp00 localhost:ntp *:*udp00 *:ntp *:*udp6 00 fe80::216:36ff:fef8:ntp [::]:* udp6 00 ip6-localhost:ntp [::]:* udp6 00 [::]:ntp[::]:*上面同时显示了 IPv4 和 IPv6 的连接。

3. 禁用反向域名解析,加快查询速度

默认情况下 netstat 会通过反向域名解析技术查找每个 IP 地址对应的主机名。这会降低查找速度。如果你觉得 IP 地址已经足够,而没有必要知道主机名,就使用 -n 选项禁用域名解析功能。$ netstat -antActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp00 127.0.1.1:530.0.0.0:* LISTEN tcp00 127.0.0.1:631 0.0.0.0:* LISTEN tcp00 192.168.1.2:49058 173.255.230.5:80ESTABLISHEDtcp00 192.168.1.2:33324 173.194.36.117:443ESTABLISHEDtcp6 00 ::1:631 :::*LISTEN上述命令列出所有 TCP 协议的连接,没有使用域名解析技术。So easy ? 非常好。

4. 只列出监听中的连接

任何网络服务的后台进程都会打开一个端口,用于监听接入的请求。这些正在监听的套接字也和连接的套接字一样,也能被 netstat 列出来。使用 -l 选项列出正在监听的套接字。$ netstat -tnlActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp00 127.0.1.1:530.0.0.0:* LISTEN tcp00 127.0.0.1:631 0.0.0.0:* LISTEN tcp6 00 ::1:631 :::*LISTEN现在我们可以看到处于监听状态的 TCP 端口和连接。如果你查看所有监听端口,去掉 -t 选项。如果你只想查看 UDP 端口,使用 -u 选项,代替 -t 选项。注意:不要使用 -a 选项,否则 netstat 会列出所有连接,而不仅仅是监听端口。相关阅读:Linux netstat命令 http://www.linuxidc.com/Linux/2013-06/85528.htmLinux netstat命令详解 http://www.linuxidc.com/Linux/2012-12/75667.htmLinux命令:service & netstat  http://www.linuxidc.com/Linux/2011-12/48395.htmLinux下用netstat命令查看网络负载状况的一条语句 http://www.linuxidc.com/Linux/2011-08/41429.htmLPI认证考试学习之Linux netstat 命令详解 http://www.linuxidc.com/Linux/2009-12/23197.htm
  • 1
  • 2
  • 下一页
Ubuntu使用wps 笔记抢先体验RedHat Enterprise Linux 7.0之安装篇相关资讯      Netstat 
  • Linux 网络监控命令(netstat)  (06/16/2015 19:54:39)
  • iproute2 对决 net-tools  (11/28/2014 06:10:12)
  • 如何使用netstat命令验证DDOS入侵  (06/07/2014 09:02:40)
  • Linux netstat 命令入门知识  (02/26/2015 14:56:09)
  • 使用netstat检测及监测网络连接  (09/12/2014 20:33:48)
  • Linux netstat命令详解  (12/09/2012 09:44:36)
本文评论 查看全部评论 (0)
表情: 姓名: 字数