linux命令详解之netstat
今天在使用linux的时候,要查看端口号,但是不知道要使用哪一个命令所以就学习了一下,原来是使用netstat,接下来给大家一起来学习。
一、netstat介绍
1.1、简介
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。
如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使 netstat 成为网管和系统管理员的必备利器。
在linux终端中输入netstat:
分析: 从上面可以看出,可以分为两个部分:
一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。
1.2、常用的参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态 -p 查看进程信息
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。 提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
二、netstat使用实例
2.1、显示所有的端口(包括监听未监听)
1) 列出所有端口 netstat -a
当我们加上-n的时候就禁止端口使用别名了,比如上面的mysql它的端口号是3306
2) 列出所有 tcp 端口 netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp localhost:mysql 0.0.0.0:* LISTEN
tcp 0.0.0.0:hostmon 0.0.0.0:* LISTEN
tcp 0.0.0.0:sunrpc 0.0.0.0:* LISTEN
tcp udzyh1:domain 0.0.0.0:* LISTEN
tcp 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp localhost:ipp 0.0.0.0:* LISTEN
tcp 0.0.0.0: 0.0.0.0:* LISTEN
tcp udzyh1: 1.0.0.3:nfs SYN_SENT
tcp udzyh1: 1.0.0.3:nfs SYN_SENT
tcp6 [::]:hostmon [::]:* LISTEN
tcp6 [::]:sunrpc [::]:* LISTEN
tcp6 [::]:ssh [::]:* LISTEN
tcp6 ip6-localhost:ipp [::]:* LISTEN
tcp6 [::]: [::]:* LISTEN
看一下我的
3)列出所有 udp 端口 netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0.0.0.0:ipp 0.0.0.0:*
udp 0.0.0.0: 0.0.0.0:*
udp udzyh1:domain 0.0.0.0:*
udp localhost:domain 0.0.0.0:*
udp 0.0.0.0:bootps 0.0.0.0:*
udp 0.0.0.0:bootpc 0.0.0.0:*
udp 0.0.0.0: 0.0.0.0:*
udp 0.0.0.0:sunrpc 0.0.0.0:*
udp 0.0.0.0:mdns 0.0.0.0:*
udp 0.0.0.0:hostmon 0.0.0.0:*
udp6 [::]: [::]:*
udp6 [::]:sunrpc [::]:*
udp6 [::]: [::]:*
udp6 [::]:mdns [::]:*
udp6 [::]:hostmon [::]:*
看一下我的
2.2、列出所有处于监听状态的Sockets
1)只显示监听端口 netstat -l
2)只列出所有监听 tcp 端口 netstat -lt
3)只列出所有监听 udp 端口 netstat -lu
4)只列出所有监听 UNIX 端口 netstat -lx
2.3、显示每个协议的统计信息
显示所有端口的统计信息 netstat -s
打印出网络统计数据,包括某个协议下的收发包数量。
Ip:
Forwarding:
total packets received
with invalid addresses
forwarded
incoming packets discarded
incoming packets delivered
requests sent out
outgoing packets dropped
dropped because of missing route
Icmp:
ICMP messages received
input ICMP message failed
ICMP input histogram:
destination unreachable:
echo requests:
echo replies:
ICMP messages sent
ICMP messages failed
ICMP output histogram:
destination unreachable:
echo requests:
echo replies:
IcmpMsg:
InType0:
InType3:
InType8:
OutType0:
OutType3:
OutType8:
Tcp:
active connection openings
passive connection openings
failed connection attempts
connection resets received
connections established
segments received
segments sent out
segments retransmitted
bad segments received
resets sent
Udp:
packets received
packets to unknown port received
packet receive errors
packets sent
receive buffer errors
send buffer errors
IgnoredMulti:
UdpLite:
TcpExt:
ICMP packets dropped because they were out-of-window
ICMP packets dropped because socket was locked
TCP sockets finished time wait in fast timer
delayed acks sent
delayed acks further delayed because of locked socket
Quick ack mode was activated times
packets directly queued to recvmsg prequeue
TCPDirectCopyFromPrequeue:
packet headers predicted
acknowledgments not containing data payload received
predicted acknowledgments
congestion windows recovered without slow start after partial ack
TCPTimeouts:
connections aborted due to timeout
TCPRetransFail:
TCPRcvCoalesce:
TCPSpuriousRtxHostQueues:
TCPAutoCorking:
TCPSynRetrans:
TCPOrigDataSent:
TCPKeepAlive:
IpExt:
InNoRoutes:
InMcastPkts:
OutMcastPkts:
InBcastPkts:
OutBcastPkts:
InOctets:
OutOctets:
InMcastOctets:
OutMcastOctets:
InBcastOctets:
OutBcastOctets:
InNoECTPkts:
InECT0Pkts:
详情
显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su
使用netstat -st
IcmpMsg:
InType0:
InType3:
InType8:
OutType0:
OutType3:
OutType8:
Tcp:
active connection openings
passive connection openings
failed connection attempts
connection resets received
connections established
segments received
segments sent out
segments retransmitted
bad segments received
resets sent
UdpLite:
TcpExt:
ICMP packets dropped because they were out-of-window
ICMP packets dropped because socket was locked
TCP sockets finished time wait in fast timer
delayed acks sent
delayed acks further delayed because of locked socket
Quick ack mode was activated times
packets directly queued to recvmsg prequeue
TCPDirectCopyFromPrequeue:
packet headers predicted
acknowledgments not containing data payload received
predicted acknowledgments
congestion windows recovered without slow start after partial ack
TCPTimeouts:
connections aborted due to timeout
TCPRetransFail:
TCPRcvCoalesce:
TCPSpuriousRtxHostQueues:
TCPAutoCorking:
TCPSynRetrans:
TCPOrigDataSent:
TCPKeepAlive:
IpExt:
InNoRoutes:
InMcastPkts:
OutMcastPkts:
InBcastPkts:
OutBcastPkts:
InOctets:
OutOctets:
InMcastOctets:
OutMcastOctets:
InBcastOctets:
OutBcastOctets:
InNoECTPkts:
InECT0Pkts:
详细
2.4、在netstat输出中显示PID和进程名称netstat -p
netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。
注意:使用 -p 选项时,netstat 必须运行在 root 权限之下,不然它就不能得到运行在 root 权限下的进程名,而很多服务包括 http 和 ftp 都运行在 root 权限之下。
相比进程名和进程号而言,查看进程的拥有者会更有用。使用 -ep 选项可以同时查看进程名和用户名。
2.5、找出程序运行的端口(服务)
netstat -ap|grep -i ssh
并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。
2.6、显示网络接口列表
netstat -i
显示详细信息,像是 ifconfig 使用 netstat -ie。输出信息与 ifconfig 输出的信息一样。
觉得不错的大佬点个“推荐”哦!
linux命令详解之netstat的更多相关文章
- Linux命令详解之—tail命令
tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...
- Linux命令详解之—less命令
Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...
- Linux命令详解之—more命令
Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...
- 【转】linux命令详解:md5sum命令
[转]linux命令详解:md5sum命令 转自:http://blog.itpub.net/29320885/viewspace-1710218/ 前言 在网络传输.设备之间转存.复制大文件等时,可 ...
- Linux命令详解之—cat命令
cat命令的功能是连接文件或标准输入并打印,今天就为大家介绍下Linux中的cat命令. 更多Linux命令详情请看:Linux命令速查手册 Linux 的cat命令通常用来显示文件内容,也可以用来将 ...
- Linux命令详解之—pwd命令
Linux的pwd命令也是一个非常常用的命令,本文为大家介绍下Linux中pwd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux pwd命令用于显示工作目录. 执行pwd指 ...
- Linux命令详解之–cd命令
cd命令是linux实际使用当中另一个非常重要的命令,本文就为大家介绍下Linux中cd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux cd命令用于切换当前工作目录至 d ...
- Linux命令详解之–ls命令
今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...
- (转)linux命令详解之useradd命令使用方法
linux命令详解之useradd命令使用方法 原文:http://blog.csdn.net/u011537073/article/details/51987121 Linux 系统是一个多用户多任 ...
随机推荐
- Matlab实现图像切割
以下使用极小值点阈值选取方法,编写MATLAB程序实现图像切割的功能. 极小值点阈值选取法即从原图像的直方图的包络线中选取出极小值点, 并以极小值点为阈值将图像转为二值图像 clear all; cl ...
- 怎样用modelsim做后仿真
摘要: 怎样用modelsim做后仿(编译工具采用quatus) step1:在qurtus改变编译选项: assignments->EDA tool setting:选择verilog ...
- PCIE知识点
引自:http://bbs.eetop.cn/thread-442072-1-1.html 1.从速度上来讲PCIE1.0标准 2.5G(8B/10B),pcie2.0标准 5.0G(8B/10B)p ...
- 【Android】3.19 示例19--全景图HelloWorld
分类:C#.Android.VS2015.百度地图应用: 创建日期:2016-02-04 百度全景图是一种实景地图服务.为用户提供城市.街道和其他环境的360度全景图像,用户可以通过该服务获得如临其境 ...
- QT学习记录(1)-控件 QPushButton, QLineEdit, QLabel, QHBoxLayout, QGridLayout
1.一个简单的QT程序(QPushButton) /* 应用程序抽象类 */ #include <QApplication> /*窗口类*/ #include <QWidget> ...
- Windows mobile 下读取手机SIM卡信息(转)
Windows mobile 下读取手机SIM卡信息 c#改善 Windows mobile 下读取手机SIM卡信息
- tornado用户验证
1.重写get_current_user()方法 class BaseHandler(tornado.web.RequestHandler): def get_current_user(self): ...
- nodejs字符串操作
nodejs的字符串操作需要引入querystring对象,querystring对象的方法有: 1:querystring.stringify(“对象”,“分隔符”,“分配符”),用来将一个json ...
- Android开发日记(一)
实现点击一个图片按钮跳转到一个动作ImageViewSchoolCard = (ImageView) view.findViewById(R.id.ImageViewLostThings); Imag ...
- 在腾讯开发 QQ IM 的工作体验是怎样的?
转载 http://blog.csdn.net/kobejayandy/article/details/8685271 目录 一.引言 二.个人网站 三.Oracle/支付宝/旺旺 四.淘宝技术发展( ...