netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

    (1)用法:

    用法:  netstat [选项参数]

    (2)功能:

    功能:  netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用netstat查一查为什么会出现这些情况了。

    (3)选项参数:

1) -a或–all      显示所有连线中的Socket。

2) -n或–numeric     直接使用IP地址,而不通过域名服务器。

3) -t或–tcp     显示TCP传输协议的连线状况。

4) -u或–udp       显示UDP传输协议的连线状况。

5) -v或–verbose     显示指令执行过程。

6) -p或–programs  显示正在使用Socket的程序识别码和程序名称。

7) -s或–statistice   显示网络工作信息统计表。

    (4)实例:

1)[root@localhost ~]# netstat        无参数的使用

[root@localhost ~]# netstat
Active Internet connections (w/o servers) //有源TCP连接
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 192.168.120.204:ssh 10.2.0.68: ESTABLISHED
udp 192.168.120.204: 10.58.119.119:domain ESTABLISHED
Active UNIX domain sockets (w/o servers) //有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)
Proto RefCnt Flags Type State I-Node Path
unix [ ] DGRAM @/org/kernel/udev/udevd
unix [ ] DGRAM /dev/log
unix [ ] DGRAM
unix [ ] DGRAM
unix [ ] STREAM CONNECTED
unix [ ] STREAM CONNECTED
[root@localhost ~]#

说明:

1."Recv-Q"和"Send-Q"指的是接收队列和发送队列。

2.Proto显示连接使用的协议;RefCnt表示连接到本套接口上的进程号;Types显示套接口的类型;State显示套接口当前的状态;Path表示连接到套接口的其它进程使用的路径名。

3.套接口类型:

    -t :TCP

    -u :UDP

    -raw :RAW类型

    --unix :UNIX域类型

    --ax25 :AX25类型

    --ipx :ipx类型

    --netrom :netrom类型

4.状态说明:

    LISTEN:     侦听来自远方的TCP端口的连接请求

    SYN-SENT:    再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)

    SYN-RECEIVED    再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)

    ESTABLISHED:   代表一个打开的连接

    FIN-WAIT-1:      等待远程TCP连接中断请求,或先前的连接中断请求的确认

    FIN-WAIT-2:      从远程TCP等待连接中断请求

    CLOSE-WAIT:    等待从本地用户发来的连接中断请求

    CLOSING:          等待远程TCP对连接中断的确认

    LAST-ACK:     等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)

    TIME-WAIT:       等待足够的时间以确保远程TCP接收到连接中断请求的确认

    CLOSED:            没有任何连接状态

2)[sunjimeng@localhost ~]$ netstat -a      显示所有已监听或者没有监听的端口

[sunjimeng@localhost ~]$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp localhost:ipp 0.0.0.0:* LISTEN
tcp localhost:smtp 0.0.0.0:* LISTEN
tcp 192.168.142.128: 115.28.122.210:http TIME_WAIT
tcp 192.168.142.128: 112.124.140.210:http TIME_WAIT
tcp 192.168.142.128: 115.28.122.210:http TIME_WAIT
tcp 192.168.142.128: 115.28.122.210:http TIME_WAIT
tcp 192.168.142.128: 112.124.140.210:http TIME_WAIT
tcp 192.168.142.128: 115.28.122.210:http TIME_WAIT
tcp 192.168.142.128: 112.124.140.210:http TIME_WAIT
tcp 192.168.142.128: 202.204.80.77:http TIME_WAIT
tcp 192.168.142.128: 115.28.122.210:http TIME_WAIT
tcp 192.168.142.128: 112.124.140.210:http TIME_WAIT
tcp 192.168.142.128: ec2----.:https ESTABLISHED
tcp 192.168.142.128: 112.124.140.210:http TIME_WAIT
tcp 192.168.142.128: 202.204.80.77:http TIME_WAIT
tcp 192.168.142.128: 115.28.122.210:http TIME_WAIT
tcp 192.168.142.128: 202.204.80.77:http TIME_WAIT
tcp6 [::]:ssh [::]:* LISTEN
tcp6 localhost:ipp [::]:* LISTEN
tcp6 localhost:smtp [::]:* LISTEN
udp 0.0.0.0:bootpc 0.0.0.0:*
udp 0.0.0.0:ntp 0.0.0.0:*
udp localhost: 0.0.0.0:*
udp 192.168.142.128: 192.168.142.2:domain ESTABLISHED
udp 0.0.0.0: 0.0.0.0:*
udp 0.0.0.0:mdns 0.0.0.0:*
udp 0.0.0.0: 0.0.0.0:*
udp 0.0.0.0: 0.0.0.0:*
udp6 [::]:ntp [::]:*
udp6 localhost: [::]:*
udp6 [::]: [::]:*
raw6 [::]:ipv6-icmp [::]:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix [ ACC ] STREAM LISTENING @/tmp/.ICE-unix/
unix [ ACC ] STREAM LISTENING @/tmp/dbus-XARCfYJ4
unix [ ACC ] STREAM LISTENING /var/run/abrt/abrt.socket
......
unix [ ] STREAM CONNECTED

3)[sunjimeng@localhost ~]$ netstat -nu      显示已建立的UDP连接

[sunjimeng@localhost ~]$ netstat -nu
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 192.168.142.128: 192.168.142.2: ESTABLISHED
[sunjimeng@localhost ~]$ netstat -anu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0.0.0.0: 0.0.0.0:*
udp 0.0.0.0: 0.0.0.0:*
udp 127.0.0.1: 0.0.0.0:*
udp 192.168.142.128: 192.168.142.2: ESTABLISHED
udp 0.0.0.0: 0.0.0.0:*
udp 0.0.0.0: 0.0.0.0:*
udp 0.0.0.0: 0.0.0.0:*
udp6 ::: :::*
udp6 ::: :::*
udp6 ::: :::*

4)[sunjimeng@localhost ~]$ netstat -nt       显示所有已建立的TCP连接

[sunjimeng@localhost ~]$ netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0.0.0.0: 0.0.0.0:* LISTEN
tcp 127.0.0.1: 0.0.0.0:* LISTEN
tcp 127.0.0.1: 0.0.0.0:* LISTEN
tcp 192.168.142.128: 52.27.123.81: ESTABLISHED
tcp 192.168.142.128: 115.28.122.210: ESTABLISHED
tcp6 ::: :::* LISTEN
tcp6 ::: :::* LISTEN
tcp6 ::: :::* LISTEN
[sunjimeng@localhost ~]$ netstat -nt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 192.168.142.128: 52.27.123.81: ESTABLISHED
tcp 192.168.142.128: 115.28.122.210: ESTABLISHED

5)[sunjimeng@localhost ~]$ netstat -nupa     显示UDP端口号的使用情况

[sunjimeng@localhost ~]$ netstat -nupa                    //没有root权限
(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0.0.0.0: 0.0.0.0:* -
udp 0.0.0.0: 0.0.0.0:* -
udp 127.0.0.1: 0.0.0.0:* -
udp 192.168.142.128: 192.168.142.2: ESTABLISHED /netstat
udp 0.0.0.0: 0.0.0.0:* -
udp 0.0.0.0: 0.0.0.0:* -
udp 0.0.0.0: 0.0.0.0:* -
udp6 ::: :::* -
udp6 ::: :::* -
udp6 ::: :::* -
[sunjimeng@localhost ~]$ su root
密码:
[root@localhost sunjimeng]# netstat -aunp          //有root权限
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0.0.0.0: 0.0.0.0:* /dhclient
udp 0.0.0.0: 0.0.0.0:* /chronyd
udp 127.0.0.1: 0.0.0.0:* /chronyd
udp 192.168.142.128: 192.168.142.2: ESTABLISHED /netstat
udp 0.0.0.0: 0.0.0.0:* /dhclient
udp 0.0.0.0: 0.0.0.0:* /avahi-daemon: r
udp 0.0.0.0: 0.0.0.0:* /avahi-daemon: r
udp 192.168.142.128: 192.168.142.2: ESTABLISHED /python
udp6 ::: :::* /chronyd
udp6 ::: :::* /chronyd
udp6 ::: :::* /dhclient

6)[root@localhost sunjimeng]# netstat -i      显示网卡列表

[root@localhost sunjimeng]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eno16777 BMRU
lo LRU

7)[root@localhost sunjimeng]# netstat -s      显示网络统计信息

[root@localhost sunjimeng]# netstat -s
Ip:
total packets received
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:
timeout in transit:
echo requests:
echo replies:
ICMP messages sent
ICMP messages failed
ICMP output histogram:
destination unreachable:
echo request:
echo replies:
IcmpMsg:
InType0:
InType3:
InType8:
InType11:
OutType0:
OutType3:
OutType8:
Tcp:
active connections openings
passive connection openings
failed connection attempts
connection resets received
connections established
segments received
segments send out
segments retransmited
bad segments received.
resets sent
Udp:
packets received
packets to unknown port received.
packet receive errors
packets sent
receive buffer errors
send buffer errors
UdpLite:
TcpExt:
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
packet headers predicted
acknowledgments not containing data payload received
predicted acknowledgments
congestion windows recovered without slow start after partial ack
other TCP timeouts
connections reset due to unexpected data
connections reset due to early user close
IPReversePathFilter:
TCPRcvCoalesce:
TCPChallengeACK:
TCPSYNChallenge:
IpExt:
InNoRoutes:
InMcastPkts:
OutMcastPkts:
InBcastPkts:
OutBcastPkts:
InOctets:
OutOctets:
InMcastOctets:
OutMcastOctets:
InBcastOctets:
OutBcastOctets:

8)[root@localhost sunjimeng]# netstat -r        显示路由表的信息

[root@localhost sunjimeng]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 192.168.142.2 0.0.0.0 UG eno16777736
192.168.142.0 0.0.0.0 255.255.255.0 U eno16777736
192.168.142.0 0.0.0.0 255.255.255.0 U eno16777736
[root@localhost sunjimeng]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.142.2 0.0.0.0 UG eno16777736
192.168.142.0 0.0.0.0 255.255.255.0 U eno16777736
192.168.142.0 0.0.0.0 255.255.255.0 U eno16777736

    (5)其他:

Linux网络套接字:

套接字连接的过程如同(客户)打一个电话到一个大公司,接线员(服务器进程)接听电话并把它转接到你要找的部门,然后再从那里转到你要找的人(服务器套接字),然后接线员(服务器进程)再继续转接其它(客户)的电话。

      套接字有本地套接字和网络套接字两种。本地套接字的名字是Linux文件系统中的文件名,一般放在/tmp或/usr/tmp目录中;网络套接字的名字是与客户连接的特定网络有关的服务标识符(端口号或访问点)。这个标识符允许Linux将进入的针对特定端口号的连接转到正确的服务器进程。
      套接字的连接建立过程:http://blog.chinaunix.net/uid-25829053-id-3015832.html;
      Java通信中的套接字连接过程:http://www.cnblogs.com/MenAngel/p/5317082.html;

每天一个Linux命令(50)netstat命令的更多相关文章

  1. Linux系统采用netstat命令查看DDOS攻击的方法

    Linux系统采用netstat命令查看DDOS攻击的方法 来源:互联网 作者:佚名 时间:07-05 15:10:21 [大 中 小] 这篇文章主要为大家介绍了Linux系统采用netstat命令查 ...

  2. SS命令和Netstat命令比较

    在早期运维工作中,查看服务器连接数一般都会用netstat命令.其实,有一个命令比netstat更高效,那就是ss(Socket Statistics)命令!ss命令可以用来获取socket统计信息, ...

  3. 每天一个linux命令(43)--netstat命令

    netstat 命令用于显示与 IP TCP  UDP 和 ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat 是在内核中访问网络及相关信息的程序,它能提供TCP连接,T ...

  4. linux常用命令:netstat 命令

    netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP ...

  5. Linux中使用netstat命令的基本操作,排查端口号的占用情况

    Linux中netstat命令详解 Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的状态信息.Netstat用于显示与I ...

  6. 【Linux常见命令】netstat命令

    netstat - Print network connections, routing tables, interface statistics, masquerade connections, a ...

  7. Linux系统运行netstat命令时的过三关斩一将

    1.简介 这篇文章主要是记录在日常工作中遇到的一些问题,将其都总结整合到一起,方便查看,提高工作效率.小伙伴们看到标题可能觉得奇怪,不是过五关斩六将而是过三关斩一将.慢慢地往后看发现其中奥秘. 2.过 ...

  8. Linux学习:netstat命令

    Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态等.对于开发来说,很多时候用于查看端口占用情况. 执行netstat命令,其输出结果可以分成两部分: 1)一是“Active ...

  9. linux网络操作 netstat命令

    关闭与启动网卡 ifdown 网卡设备名 #禁用该网卡设备 ifup网卡设备名 #启用该网卡设备 查看网络状态 netstat  命令 ​ -t 列出tcp协议端口 -u 列出udp协议端口 -n 不 ...

  10. Linux中的netstat命令详解

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

随机推荐

  1. DataUml Design 教程7 - 数据库生成模型

    DataUml Design支持数据库生成模型,并支持外键关系,能够根据外键自动生成类与类之间的关系. 目前DataUML Design支持MS Server.MY SQL.Oracle和Access ...

  2. openwrt安装编译

    官网安装编译推荐: https://wiki.openwrt.org/doc/howto/buildroot.exigence https://wiki.openwrt.org/doc/howto/b ...

  3. 【转载】java连接MYSQL

    原文出自 http://qq163230530.blog.163.com/blog/static/4289250620081186262719/ 这篇文章主要以MySQL为例讲下Java如何连接到数据 ...

  4. UIImagePickerController关于图片裁剪

    - (UIImage*)scaleImage:(UIImage*)anImage withEditingInfo:(NSDictionary*)editInfo{ UIImage *newImage; ...

  5. echarts Y轴刻度保留几位小数

    yAxis: [ { type: 'value', name: '雨量(mm)', nameLocation: 'start', inverse: true, axisLabel: {         ...

  6. W​o​r​d​P​r​e​s​s​常​用​标​签​和​调​用​总​结

    调用头部模板<?php get_header();?> 调用尾部模板<?php get_footer();?> 调用侧边栏<?php get_sidebar();?> ...

  7. Frosh Week(归并排序求逆序数)

    H - Frosh Week Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Desc ...

  8. Linux 下安装svn

    安装步骤如下: 1.yum install subversion   2.输入rpm -ql subversion查看安装位置,如下图:   我们知道svn在bin目录下生成了几个二进制文件. 输入 ...

  9. 动态加载和卸载 DLL

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. Springboot整合thymeleaf模板

    Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用. Thymeleaf的主要目标在于提供一种可被浏览器正确显示的.格式良好的模板创建方式,因此也可以用作静态建 ...