1. netstat基本参数:

参数

说明

输出

-a

列出所有连接。

列出 tcp, udp 和 unix 协议下所有套接字的所有连接。然而这些信息还不够详细,管理员往往需要查看某个协议或端口的具体连接情况。

  

-t;

-u

只列出 TCP 或 UDP 协议的连接

-n

禁用反向域名解析,加快查询速度。

默认情况下 netstat 会通过反向域名解析技术查找每个 IP 地址对应的主机名。这会降低查找速度。

 

-l

只列出监听中的连接

 

-p

获取进程名、进程号以及用户 ID

-c

netstat 持续输出

-s

打印网络统计数据

 

-i

打印网络接口

结合e选项更有好的显示

 

2. 关于tcp的state

tcp的连接情况,网上有很多资料,包括状态图。但是结合上面的输出信息看,最直观的方式就是结合下面的这个状态流来看:

<客户端>

CLOSED->SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT->CLOSED

<服务端>

CLOSED->LISTEN->SYN收到->ESTABLISHED->CLOSE_WAIT->LAST_ACK->CLOSED

上面的状态流比状态图更好理解,而且通过netstat看到的tcp状态基本都在这里,重要的是很多状态通过看名字就可以知道该端口是作为服务端还是客户端使用。比如TIME_WAIT和CLOSE_WAIT,前者是客户端状态,后者是服务端状态。

由于某些状态出现概率极低,netstat看到的tcp状态主要包括:ESTABLISHED, TIME_WAIT, LISTEN, CLOSE_WAIT.

鉴于状态图的经典地位,这里还是贴出来:

3. 与lsof对比

主要参数

说明

lsof -c abc

显示abc进程现在正在打开的文件

lsof -d 4

显示使用文件描述符为4的所有进程

lsof -p 12

显示进程号为12的进程打开的所有文件

lsof abc.txt

显示开启文件abc.txt的进程

lsof -i:22

显示22端口现在被什么程序占用

lsof +d /usr/local/

lsof +D /usr/local/

显示指定目录下被进程开启的文件,+d不会遍历该目录下的所有子目录,+D会遍历该目录下的所有子目录

lsof有权限控制,只能看到本用户的信息,所以一般我们会在root下运行lsof,这样才能充分发挥其效果。

另外二者侧重点不一样,lsof侧重于文件本身交互,netstat侧重于网络交互。

netstat相关的更多相关文章

  1. 通过TCP Allocate连接数告警了解promethous-NodeExporter数据采集及相关知识扩散

    1.问题由来 近日有环境告警如下:TCP Allocate连接数过多 很多资料告诉我们使用:netstat –ant | grep ^tcp | wc –l命令查询,但查询的值与告警中获取的只相差很大 ...

  2. linux基础之网络基础配置

    基础命令:ifconfig/route/netstat,ip/ss,nmcli 一.ifconfig/route/netstat相关命令 1.  ifconfig - configure a netw ...

  3. docker-compose(grafana influxdb) + telegraf 快速搭建简单监控

     灵活实现方案:   1:     telegraf 为go 语言写得占用内存小 收集主机各项监控数据 定时写入 时序DB   influxdb ------------------------&qu ...

  4. 10.8 ss:查看网络状态

    ss命令 是类似并将取代netstat的工具,它能用来查看网络状态信息,包括TCP.UDP连接.端口等.它的优点是能够显示更多更详细的有关网络连接状态的信息,而且比netstat更快速更高效.    ...

  5. 嵌入式单片机STM32应用技术(课本)

    目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...

  6. Windows-007-进程相关命令(netstat、tasklist、taskkill、tskill)实战实例图文详解

    本节主要讲述 Windows 系统下,nestat.tasklist.tskill 三个 CMD 命令的参数,及使用方法:以及如何利用三者结合查看进程信息和结束进程.敬请亲们参阅,希望能对亲们有所帮助 ...

  7. [网络配置相关]——netstat命令

    netstat:显示网络状态信息 -a   显示所有连接状态的网络的所有选项-l    仅显示LISTEN状态的连接-n   直接显示IP地址,而不通过域名服务器-p   把进程名和进程PID也显示出 ...

  8. DOS命令之----Netstat+Task以及相关使用

    作为一个初步接触电脑的人,在学习Android的过程中,遇到各种问题,今天遇到了.这样一个错误提示: The connection to adb is down, and a severe error ...

  9. netstat命令---输出网络相关的信息

    简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Member ...

随机推荐

  1. PowerShell自动部署IIS站点(Windows Server 2008 R2)

    1.功能描述 1. 连接软件源服务器下载.NET Framework 4.0..NET Framework 4.5. 2. 检测并判断当前.NET Framework版本是否小于v4.0,如果小于则进 ...

  2. 【原】聊一聊 url 编码问题

    最近项目中遇到需要编码的一个问题,在encode和encodeURIComponent上绕了个小圈,所以打算总结一下js的编码问题,网上也有很多类似的文章,不过呢,总结出来的东西才是自己滴 为什么需要 ...

  3. centos7的使用

    在虚拟机vmware 中如果打算安装vmware tools增强工具的话! 可 以先在mnt目录下创建一个文件夹,mkdir /mnt/cdrom,然后通过mount /dev/cdrom /mnt/ ...

  4. Spring Boot中的事务管理

    原文  http://blog.didispace.com/springboottransactional/ 什么是事务? 我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合 ...

  5. PHP图片加文字水印和图片水印方法(鉴于李老师博客因没加水印被盗,特搜集的办法。希望能有用!)

    $dst_path = 'dst.jpg'; //创建图片的实例 $dst = imagecreatefromstring(file_get_contents($dst_path)); //打上文字 ...

  6. 查看IO负载

    负载(load)是linux机器的一个重要指标,直观了反应了机器当前的状态.如果机器负载过高,那么对机器的操作将难以进行. Linux的负载高,主要是由于CPU使用.内存使用.IO消耗三部分构成.任意 ...

  7. 轮播插件unsilder 源码解析(一)---源码解析

    jq扩展内容 $.fn.unslider = function(opts) { return this.each(function(index,elem) { var $this = $(elem); ...

  8. Centos6.5下docker 环境搭建

    一.运行docker Linux内核版本需要在3.8以上,针对centos6.5 内核为2.6的系统需要先升级内核.不然会特别卡,退出容器. 在yum的ELRepo源中,有mainline(3.13. ...

  9. 初识pipeline

    1.pipeline的产生 从一个现象说起,有一家咖啡吧生意特别好,每天来的客人络绎不绝,客人A来到柜台,客人B紧随其后,客人C排在客人B后面,客人D排在客人C后面,客人E排在客人D后面,一直排到店面 ...

  10. Linux服务管理