今天在使用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的更多相关文章

  1. linux命令详解之netstat

    今天在使用linux的时候,要查看端口号,但是不知道要使用哪一个命令所以就学习了一下,原来是使用netstat,接下来给大家一起来学习. 一.netstat介绍 1.1.简介 Netstat 命令用于 ...

  2. Linux命令详解之—tail命令

    tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...

  3. Linux命令详解之—less命令

    Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...

  4. Linux命令详解之—more命令

    Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...

  5. 【转】linux命令详解:md5sum命令

    [转]linux命令详解:md5sum命令 转自:http://blog.itpub.net/29320885/viewspace-1710218/ 前言 在网络传输.设备之间转存.复制大文件等时,可 ...

  6. Linux命令详解之—cat命令

    cat命令的功能是连接文件或标准输入并打印,今天就为大家介绍下Linux中的cat命令. 更多Linux命令详情请看:Linux命令速查手册 Linux 的cat命令通常用来显示文件内容,也可以用来将 ...

  7. Linux命令详解之—pwd命令

    Linux的pwd命令也是一个非常常用的命令,本文为大家介绍下Linux中pwd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux pwd命令用于显示工作目录. 执行pwd指 ...

  8. Linux命令详解之–cd命令

    cd命令是linux实际使用当中另一个非常重要的命令,本文就为大家介绍下Linux中cd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux cd命令用于切换当前工作目录至 d ...

  9. Linux命令详解之–ls命令

    今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...

  10. (转)linux命令详解之useradd命令使用方法

    linux命令详解之useradd命令使用方法 原文:http://blog.csdn.net/u011537073/article/details/51987121 Linux 系统是一个多用户多任 ...

随机推荐

  1. HA分布式集群二hive配置

    一,概念 hive:是一种数据仓库,数据储存在:hdfs上,hsql是由替换简单的map-reduce,hive通过mysql来记录映射数据 二,安装 1,mysql安装: 1,检测是否有mariad ...

  2. WordPress中函数钩子hook的作用及基本用法

    WordPress 的插件机制实际上只的就是这个 Hook 了,它中文被翻译成钩子,允许你参与 WordPress 核心的运行,是一个非常棒的东西,下面我们来详细了解一下它.钩子分类 钩子分为两种,一 ...

  3. nodejs01--什么是nodejs,nodejs的基本使用

    nodejs使用范围 -直接在cmd命令行运行,在你的电脑上直接运行 -可以搭建一个web服务器(express,koa) -一些基本的使用 -modules是如何工作的 -npm管理modules ...

  4. C#中调用HttpWebRequest类中Get/Post请求无故失效的诡异问题

    先附代码 /// <summary> /// 客户端Http(GET) /// </summary> /// <param name="strUrl" ...

  5. 用于NLP的CNN架构搬运:from keras0.x to keras2.x

    本文亮点: 将用于自然语言处理的CNN架构,从keras0.3.3搬运到了keras2.x,强行练习了Sequential+Model的混合使用,具体来说,是Model里嵌套了Sequential. ...

  6. Solr(四)Solr实现简单的类似百度搜索高亮功能-1.配置Ik分词器

    配置Ik分词器 一 效果图 二 实现此功能需要添加分词器,在这里使用比较主流的IK分词器. 1 没有配置IK分词器,用solr自带的text分词它会把一句话分成单个的字. 2 配置IK分词器,的话它会 ...

  7. 无法远程连接服务器上的mysql

    使用mysql管理工具连接服务器删过得mysql,显示连接被拒绝,但是在服务器上是可以登录mysql的. 无法远程连接通常以下几种情况: 首先,关闭mysql.        service mysq ...

  8. 逻辑回归的实现(LogicalRegression)

    1.背景知识       在刚刚结束的天猫大数据s1比赛中,逻辑回归是大家都普遍使用且效果不错的一种算法.   (1)回归           先来说说什么是回归,比如说我们有两类数据,各有50十个点 ...

  9. mysql flush操作

    FLUSH语法 FLUSH [LOCAL | NO_WRITE_TO_BINLOG] flush_option [, flush_option] ... 如果您想要清除MySQL使用的部分内部缓存,您 ...

  10. append()方法生成的元素绑定的事件失效解决办法

    我使用append()方法动态生成的a链接的click事件没有起效果,查找了资料,了解到,我使用的onclick方法绑定的事件对动态生成的元素是无效的,解决办法如下: 使用事件委托,并且要用on来绑定 ...