今天在使用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. mybatis入门介绍一

    首先介绍一下Mybatis是什么?mybatis是Java的持久层框架, JAVA操作数据库是通过jdbc来操作的,而mybatis是对jdbc的封装. 使用mybatis之后,开发者只需要关注sql ...

  2. Linux(1)目录

    Linux目录 / :根目录, 一般只存放目录, 在Linux下只有一个根目录. 所有的东西都是从这里开始 /bin, /usr/bin :可执行的二进制文件目录, 如常用的ls, tar, mv, ...

  3. 防止DDoS攻击的方式

    针对企业的DDoS攻击持续增长,根据Akamai的调查报告,2015年DDoS攻击增长了史无前例的180% !面对 DDoS 攻击性挑战,我们应该建立有效的防御体系来抵御攻击.   1.网站IP减少公 ...

  4. Openresty使用Thrift安装步骤

    最新想用Golang与Openresty相互通讯调用,使用RPC协议来实现,后来研究最终选择了Thrift:主要还是FB实现了支持Lua和Go模块,直接编译就可以成功嵌套使用,非常方便:研究了两天最后 ...

  5. NYOJ--128--前缀式计算(表达式求值)

    前缀式计算 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中缀式. 而把中缀式按运算顺序加上括 ...

  6. 日常API之C#百度人脸识别

    最近看到一只我家徒儿发来的链接,原来是一堆百度AI的SDK,于是一时兴起就做了一只人脸识别,喵喵喵(●'◡'●) 一.准备工作 首先,当然是下载SDK啦:http://ai.baidu.com/sdk ...

  7. LinkStack

    //Node.h template<typename ElemType> struct Node { ElemType data; Node<ElemType> *next; ...

  8. python实战===实现读取txt每一行的操作,账号密码

    最近搞到了一批163邮箱的账号和密码,但是里面有部分账号不能用,密码是错的. 以此为背景 人工手动挨个登录检查效率太低! 于是写了下面这个脚本: import linecache import smt ...

  9. HTML5的三种存储方式以及区别

    首先将存储方式前要先知道为什么要使用他:一是利用本地数据,介绍网络请求:二是弱网环境下,高延迟,低带宽,要把数据本地化: 1.本地存储localStorage和sessionStorage 介绍: 存 ...

  10. 用for循环筛选奇偶表格栏

    直接举例吧: var tr = table.getElementByTagName('tr');        //获取<tr>标签: var body =false; //定义变量bod ...