每天学习一个linux命令:netstat 查看网络连接情况

运行环境:Ubuntu 16.04.6 LTS

一、netstat 语法

1.1、基本语法

bingsanlang@ubuntu:~$ netstat -h
usage: netstat [-vWeenNcCF] [<Af>] -r         netstat {-V|--version|-h|--help}
       netstat [-vWnNcaeol] [<Socket> ...]
       netstat { [-vWeenNac] -i | [-cWnNe] -M | -s }
-r, --route              display routing table //显示Routing Table。
-i, --interfaces         display interface table //显示网络接口表单信息。
-g, --groups             display multicast group memberships//显示多重广播功能群组组员名单。
-s, --statistics         display networking statistics (like SNMP)//显示网络工作信息统计表。
-M, --masquerade         display masqueraded connections//显示伪装的网络连线。
-v, --verbose            be verbose //显示指令执行过程。
-W, --wide               don't truncate IP addresses
-n, --numeric            don't resolve names //直接使用IP地址,而不通过域名服务器。
--numeric-hosts          don't resolve host names//无需解析主机名称
--numeric-ports          don't resolve port names//无需解析端口名称
--numeric-users          don't resolve user names//无需解析用户名称
-N, --symbolic           resolve hardware names//显示网络硬件外围设备的符号连接名称。
-e, --extend             display other/more information//显示网络其他相关信息。
-p, --programs           display PID/Program name for sockets//显示正在使用Socket的程序识别码和程序名称。
-c, --continuous         continuous listing  //持续列出网络状态。
-l, --listening          display listening server sockets//仅列出有在 Listen (监听) 的服務状态
-a, --all, --listening   display all sockets (default: connected) //显示所有连线中的Socket。
-o, --timers             display timers//显示计时器.
-F, --fib                display Forwarding Information Base (default)//显示FIB.
-C, --cache              display routing cache instead of FIB//显示路由器配置的快取信息。
  <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom
  <AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: inet
  List of possible address families (which support routing):
    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)
    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)
    x25 (CCITT X.25)

1.2、排查命令常用组合

  1. netstat -i // 显示网卡列表
  2. netstat -g // 显示组播组的关系
  3. netstat -s | more 10 //显示网络统计
  4. netstat -lntup | grep port // l:listening n:num t:tcp u:udp p:process
  5. netstat –e //用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量.
  6. netstat –r// 显示路由信息
  7. netstat -an | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a,S[a]} ’ //统计机器中网络连接各个状态个数
  8. netstat -ant|awk ‘{print $6}’|sort|uniq –c//状态全都取出来后使用uniq -c统计后再进行排序.
  9. netstat -ant|grep “192.168.25.*”|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort -nr|uniq –c//查看连接某服务端口最多的的IP地址
  10. netstat -ap | grep ssh //找出程序运行的端口.
  11. netstat -pt//在 netstat 输出中显示 TCP连接信息
  12. netstat -p | grep port//找出运行在指定端口的进程

二、命令结果说明

bingsanlang@ubuntu:~$ netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 ubuntu:57824            server-54-192-151:https ESTABLISHED
.....省略很多

Active Internet connections:有源TCP连接,从当前的输出有6列,分别是:

Proto Recv-Q Send-Q Local Address Foreign Address State
列名称 连接协议 接收队列 发送队列 本地地址:端口 外部地址:端口 连接状态

连接状态有:

  • 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接收到连接中断请求的确认
  • C
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值