【操作系统之九】Linux常用命令之netstat
一、概念
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
二、命令格式
1、直接输入 netstat命令
[root@PCS101 logs]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp PCS101:ssh bdeadc--.ptr: ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix [ ] DGRAM /run/systemd/notify
unix [ ] DGRAM /run/systemd/cgroups-agent
unix [ ] DGRAM /run/systemd/journal/socket
......
(1)Active Internet connections,活动的Internet网络连接(TCP,UDP,raw)
Proto 连接使用的协议
Recv-Q 接收队列:连接此套接字的用户程序未拷贝的字节数
Send-Q 发送队列:远程主机未确认的字节数
Local Address 套接字的本地地址(本地主机名)和端口号。除非给定-n,--numeric选项,否则套接字地址按标准主机名(FQDN)进行解析,而端口到则转换到相应的服务名。
Foreign Address 套接字的远程地址(远程主机名)和端口号。
State 套接字的状态。因为在RAW协议中没有状态,而且UDP也不用状态信息,所以此行留空。通常为以下几个值之一:
ESTABLISHED 套接字有一个有效连接
SYN_SENT 套接字尝试建立一个连接
SYN_RECV 从网络上收到一个连接请求
FIN_WAIT1 套接字已关闭,连接正在断开
FIN_WAIT2 连接已关闭,套接字等待远程方中止。
TIME_WAIT 在关闭之后,套接字等待处理仍然在网络中的分组
CLOSED 套接字未用
CLOSE_WAIT 远程方已关闭,等待套接字关闭
LAST_ACK 远程方中止,套接字已关闭。等待确认
LISTEN 套接字监听进来的连接。如果不设置—listening(-l)或者—all(-a)选项,将不显示出来这些连接。
CLOSING 套接字都已关闭,而还未把所有输出发出
UNKNOWN 套接字状态未知
(2)Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto 连接使用的协议
RefCnt 表示连接到本套接口上的进程数量
Flags 显示的标志为SO_ACCEPTON(显示为ACC),SO_WAITDATA(W)或SO_NOSPACE(N)。如果相应的进程等待一个连接请求,那么SO_ACCECPTON用于未连接的套接字。其他标志通常并不重要
Type 显示套接口的类型
SOCK_DGRAM 此套接字用于数据报(无连接)模式
SOCK_STREAM 流模式(连接)套接字
SOCK_RAW 此套接字用于RAW模式
SOCK_RDM 一种服务可靠性传递信息
SOCK_SEQPACKET 连续分组套接字
SOCK_PACKET RAW接口使用套接字
UNKNOWN 未知
State 套接口当前的状态
FREE 套接字未分配
LISTENING 套接字正在监听一个连接请求。除非设置--listening(-l)或者--all(-a)选项,否则不显示。
CONNECTING 套接字正要建立连接
CONNECTED套接字已连接
DISCONNECTING 套接字已断开
(empty) 套接字未连。
UNKNOWN !不应当出现这种状态
I-Node
Path 连接到套接口的其它进程使用的路径名
2、常见参数
-a (all)显示所有选项,netstat默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。(重要)
-l 仅列出有在 Listen (监听) 的服务状态
-i 显示网卡列表
-p 显示建立相关链接的程序名(macOS中表示协议 -p protocol)
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计 (重要)
-c 每隔一个固定时间,执行该netstat命令。
-o 显示计时器
-g 显示组播组的关系
(1)列出所有端口 (包括监听和未监听的)
列出所有端口: netstat -a
列出所有tcp端口: netstat -at
列出所有udp端口: netstat -au
(2)列出所有处于监听状态的 Sockets
只显示监听端口: netstat -l
只列出所有监听tcp端口: netstat -lt
只列出所有监听udp端口: netstat -lu
只列出所有监听UNIX端口: netstat -lx
(3)显示每个协议的统计信息
显示所有端口的统计信息 netstat -s
显示TCP端口的统计信息 netstat -st
显示UDP端口的统计信息 netstat -su
(4)显示 PID 和进程名称
显示TCP端口进程 netstat -pt
显示UDP端口进程 netstat -pu
查看正在监听的tcp端口,并显示对应的监听程序 netstat -ntpl
查看正在监听的udp端口,并显示对应的监听程序 netstat -nupl
(5)不显示主机,端口和用户名 (host, port or user)
当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。该参数可以加速output的输出,因为不用进行比对查询。
(6)持续输出 netstat 信息
netstat 将每隔一秒输出网络信息。
netstat -t -c 2
(7)显示系统不支持的地址族 (Address Families)
netstat --verbose
(8)显示核心路由信息
netstat -rn
(9)找出程序运行的端口
并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。
netstat -apn | grep ssh
找出运行在指定端口的进程
netstat -an | grep ':22'
(10)显示网络接口列表
netstat -i
【操作系统之九】Linux常用命令之netstat的更多相关文章
- 【操作系统之七】Linux常用命令之tail
一.概念linux tail命令用途是按照要求将指定的文件的最后部分输出到标准设备,一般是终端,就是把某个档案文件的最后几行显示到终端上,如果该档案有更新,tail会自动刷新,确保你看到最新的档案内容 ...
- 【操作系统之四】Linux常用命令之awk
一.概念awk是一个报告生成器,拥有强大的文本格式化能力. 数据可以来自标准输入(stdin).一个或多个文件,或其它命令的输出: 依次对每一行进行处理,然后输出: 它在命令行中使用,但更多是作为脚本 ...
- 【操作系统之八】Linux常用命令之top
一.概念Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,且可以通过交互式命令自定义显示内容,类似于Windows的任务管理器. 二.命令格式 [root@PCS101 log ...
- 【操作系统之六】Linux常用命令之less
一.概念less 工具也是对文件或其它输出进行分页显示的工具,是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more .tail更加的有弹性.在 more 的时候,我们并没有 ...
- linux常用命令:netstat 命令
netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP ...
- 【操作系统之五】Linux常用命令之grep
一.概念grep(Global search Regular Expression and Print out the line)强大的文本搜索工具,从文本文件或管道数据流中筛选匹配的行及数据,并把匹 ...
- Linux操作系统安全-OpenSSL工具常用命令介绍
Linux操作系统安全-OpenSSL工具常用命令介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.OpenSSL开源项目有三个组件 openssl: 多用途的命令行工具,包 ...
- linux常用命令与实例小全
转至:https://www.cnblogs.com/xieguohui/p/8296864.html linux常用命令与实例小全 阅读目录(Content) 引言 一.安装和登录 (一) ...
- Linux常用命令速查备忘
Linux常用命令速查备忘 PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...
随机推荐
- WPF 精修篇 多属性触发器
原文:WPF 精修篇 多属性触发器 多属性触发器就是多个属性都满足在触发 在属性触发器上加了一些逻辑判断 举栗子 这个栗子里 textBox 要满足俩个条件 才能触发背景变色 1)textbox的 ...
- c#小知识点总结
实例化实例化就是将抽象变为具体,只说猫是抽象的,但是我要具体到一只单独的老猫A,那么这只猫被实例化.实例化就是一个抽象变具体的过程,也可以说为声明一个变量声明变量. int a=1,这其实也是一个实例 ...
- AspNetCore.Identity详解2——注册用户
上一篇:AspNetCore.Identity详解1——入门使用 打开数据库,可以看到使用EF自动生成的表结构如下: 重点关注AspNetUsers表,打开数据库里的表可以知道目前也只用到了这张表.然 ...
- 深入理解 Kubernetes 资源限制:CPU
原文地址:https://www.yangcs.net/posts/understanding-resource-limits-in-kubernetes-cpu-time/ 在关于 Kubernet ...
- laravel在使用Composer安装插件时要求输入授权用户名密码解决办法
在使用laravel-china源时需要输入密码,坑,换源, 先换腾讯的不行,最后试一下阿里云的可以: composer config -g repo.packagist composer https ...
- 香草js侦测元素是否离开视窗viewport
很多时候,我们需要检查一个元素是否已经部分不在或者全部不在视窗区域,当这种现象发生时做相应的处理. 比如在CMS编辑内容时,其工具菜单很有可能因为内容区域过长导致滑出视窗区域,而工具栏又是经常要使用的 ...
- nginx 反向代理时丢失端口的解决方案(转)
今天,配置nginx反向代理时遇到一个问题,当设置nginx监听80端口时转发请求没有问题.但一旦设置为监听其他端口,就一直跳转不正常:如,访问欢迎页面时应该是重定向到登录页面,在这个重定向的过程中端 ...
- iOS开发工具:Alcatraz、SVGKit、Lin以及Transformifier等
转自:http://www.cocoachina.com/applenews/devnews/2013/0606/6352.html Alcatraz:Xcode包管理器 Alcatraz是一个开源的 ...
- 实验吧——因缺思汀的绕过(sql with rollup)
题目地址:http://ctf5.shiyanbar.com/web/pcat/index.php 通读源码,得知出flag的条件 1.需要post提交uname以及pwd,否则直接die了 if ( ...
- iOS开发使用Xcode的一些小技巧
1.打开iOS项目 如果你当前目录下既有project又有workspace,你可以在终端使用命令“xed.”自动打开workspace,如果只有project,它会自动打开project. 2.清理 ...