netstat命令简单使用
1.适用范围
该命令用于打印网络连接、路由表、接口统计、伪装连接、多播成员等信息。
(netstat已经过时,现在使用ss命令,所以本文不会作过多翻译,只着重一些重要部分)
2.语法概览
netstat 现在使用ss
netstat -r 现在使用ip route
netstat -i 现在使用ip -s link
netstat -g 现在使用ip maddr
打印的信息类型由第一个参数决定:
netstat 如果不加任何参数,该命令会打印一个已打开的套接字列表
netstat -r 打印内核路由表
netstat -g 打印IPv4和IPv6的多播组成员信息
netstat -i 打印所有网络接口
netstat --interfaces=iface 打印指定接口的信息
netstat -I=iface 打印指定接口的信息
netstat -M 打印伪装连接的列表
netstat -s 打印每个协议的总结性的统计信息
命令选项
--verbose, -v 通过详细说明,告诉用户发生了什么。特别是打印一些关于已配置的地址家族的信息。
--numeric, -n 使用数字地址,而不是符号主机、端口或用户名。
--numeric-hosts 显示数字的主机,但是不会影响端口和用户名的解析。
--numeric-ports 显示数字的端口,但是不会影响主机和用户名的解析。
--numeric-users 显示数字的用户ID,但是不会影响主机和用户名的解析。
--protocol=family, -A 指定显示哪些地址族的连接,地址族有:inet,inet6,unix,ipx,ax25,netrom,ddp。
或者以选项的方式使用,--inet,--inet6,--unix,--ipx,--ax25,--netrom,--ddp。
inet地址族包含raw,udp,tcp协议套接字。
-c, --continuous 持续性地打印选择的信息,每秒一次。
-e, --extend 显示额外的信息。使用两个e表示显示最详细的信息。
-o, --timers 打印与网络定时器相关的信息。
-p, --program 打印每个套接字对应的程序的PID和名字。
-l, --listening 只打印监听套接字。
-a, --all 打印所有监听套接字和非监听套接字(对于TCP而言,非监听套接字指的是ESTABLISHED状态的连接)。
-F 从FIB打印路由信息。
-C 从路由缓存打印路由信息。
-Z 如果开启了SELinux,表示打印SELinux context。
-T 停止整理长地址。
delay 每隔多久打印一次数据。
3.输出格式
Active Internet connections:TCP,UDP,raw。
Proto:套接字使用的协议。(tcp,udp,raw)
Recv-Q:
Send-Q:
Local Address:如果没有使用-n选项,就是以FQDN显示的主机名,以服务名显示的端口。
Foreign Address:远端主机地址和端口。
State:套接字的状态。在raw模式下,没有状态,所有会留空;在UDP模式下,经常没有使用,所以也会留空。
ESTABLISHED:这个套接字已经建立了一个连接。
SYN_SENT:这个套接字正积极尝试去建立一个连接。
SYN_RECV:本地端已经接受到了网络上连接请求。
FIN_WAIT1:套接字已经关闭,同时这个连接正处于关闭中。
FIN_WAIT2:连接已经关闭,套接字正等待客户端的关闭。
TIME_WAIT:
CLOSED:这个套接字没有处于使用中。
CLOSE_WAIT:远端已经关闭,等待本地端去关闭套接字。
LAST_ACK:远端已经关闭,套接字也已经关闭。就等着确认了。
LISTEN:套接字正等待incoming connections。
CLOSING:两边都在关闭中,但是我们的数据还没有发送完。
UNKNOWN:套接字的状态不知道。
User:套接字所属的用户名或UID。
PID/Program name:进程ID和程序名。
Timer:
Active UNIX domain Sockets
Proto:套接字使用的协议。
RefCnt:引用计数。比如,附加在这个套接字上的进程数。
Flags:可以是ACC(SO_ACCEPTON),W(SO_WAITDATA),N(SO_NOSPACE)。
Type:有多种套接字接入。
SOCK_DGRAM:该套接字用于数据报(无需连接)模式。
SOCK_STREAM:这是一个流套接字(需要连接)。
SOCK_RAW:作为raw套接字使用。
SOCK_RDM:这个套接字服务于高可靠传输的消息。
SOCK_SEQPACKET:这是一个序列化的数据包套接字。
SOCK_PACKET:原始接口访问套接字。
UNKNOWN:谁知道将来会有什么,先占掉这里的位置。
State:
FREE:这个套接字没有被分配出去。
LISTENING:这个套接字正在监听一个外面的连接请求。
CONNECTING:这个套接字即将要建立一个连接。
CONNECTED:套接字连接上了。
DISCONNECTING:套接字正在断开中。
empty:这个套接字没有连接到另一端。
UNKNOWN:未知字段。
PID/Program name:
Path:程序对应的路径。
Active IPX sockets:
Active NET/ROM sockets:
Active AX.25 sockets:
附加文件:
/etc/services 服务和端口对应的文件
/proc/net/dev 网络设备信息
/proc/net/raw raw套接字信息
/proc/net/tcp tcp套接字信息
/proc/net/udp udp套接字信息
/proc/net/igmp IGMP多播信息
/proc/net/unix UNIX domain套接字信息
/proc/net/ipx IPX套接字信息
/proc/net/ax25 AX25套接字信息
/proc/net/appletalk DDP套接字信息
/proc/net/nr NET/ROW套接字信息
/proc/net/route IP路由信息
/proc/net/ip_masquerade 伪装的连接
netstat命令简单使用的更多相关文章
- Linux下netstat命令简单操作
netstat -t :TCP协议 -u :UDP协议 -l :监听 -r :路由 -n :显示IP地址和端口号 常用: netstat -tlun 查看本机监听的端口 netstat -an 查看本 ...
- linux常用命令简单介绍(netstat,awk,top,tail,head,less,more,cat,nl)
1.netstat netstat -tnl | grep 443 (查看443端口是否被占用) root用户,用netstat -pnl | grep 443 (还可显示出占用本机443端口的进程P ...
- Linux_常用命令简单介绍(netstat,awk,top,tail,head,less,more,cat,nl)
1.netstat netstat -tnl | grep 443 (查看443端口是否被占用) root用户,用netstat -pnl | grep 443 (还可显示出占用本机443端口的进程P ...
- Linux netstat命令具体解释
简单介绍 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表.接口状态 (Interface Statistics).masquerade 连接,多播成员 (Multicast Memb ...
- 常用命令(过滤、管道、重定向、ping 命令、netstat 命令、ps命令)
常用命令 过滤 过滤出 /etc/passwd 文件中包含 root 的记录 grep 'root' /etc/passwd 递归地过滤出 /var/log/ 目录中包含 linux 的记录 grep ...
- Linux02 /Linux命令简单使用
Linux02 /Linux命令简单使用 目录 Linux02 /Linux命令简单使用 1. 远程连接Linux 2. 目录相关操作 3. 简单命令 1. 远程连接Linux 远程连接工具 Xshe ...
- Linux系统运行netstat命令时的过三关斩一将
1.简介 这篇文章主要是记录在日常工作中遇到的一些问题,将其都总结整合到一起,方便查看,提高工作效率.小伙伴们看到标题可能觉得奇怪,不是过五关斩六将而是过三关斩一将.慢慢地往后看发现其中奥秘. 2.过 ...
- linux之netstat命令
netstat用于显示各种网络相关的信息,如网络连接,路由表接口状态(interface statistics), masquerade连接,多播成员(Multicast Memberships)等等 ...
- netstat命令
netstat命令会罗列出当前所有的网络连接.连接统计以及路由表信息.默认情况下,netstat命令将罗列出本地计算机所有开启的端口情况,以及它所连接的外部计算机情况. 端口就像一所房子的房门一样.数 ...
随机推荐
- 新人补钙系列教程之:AS3 与 PHP 简单通信基础
package { import flash.display.Loader; import flash.events.Event; import flash.net.URLLoader; import ...
- windows curl命令
一.概述 Curl命令可以通过命令行的方式,执行Http请求.在Elasticsearch中有使用的场景,因此这里研究下如何在windows下执行curl命令 二.下载 下载地址:https://cu ...
- Java中hashcode的理解
Java中hashcode的理解 原文链接http://blog.csdn.net/chinayuan/article/details/3345559 怎样理解hashCode的作用: 以 java. ...
- kata-container环境搭建
一.安装qemu 注意,目前kata-container所要求的qemu最低版本是v2.7.0.在笔者的环境下(Ubuntu16.04 VM),apt-get官方源的最高版本是v2.5.0.所以不要用 ...
- ionic准备之angular基础——格式化数据以及过滤器(8)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- mysql开发之---使用游标双层嵌套对总表进行拆分为帖子表和回复表
注意点: (1)进行拆分的总表表名是不同的.所以创建暂时表,把总表的数据先插入暂时表 (2)为了避免最外层游标轮询数据结束时,抛出 not found 退出程序,不会运行关闭游标等兴许操作,定义con ...
- react-native 自定义 TabBar
1.首先补充一下以前的写法 App.js /** * 入口文件 */ import React, {Component} from 'react'; import { AppRegistry, Sty ...
- 用二十秒记住几个PHP基础知识点
数组: 索引数组:数组的键是整数的数组,从0開始. 关联数组:数组的键是字符串的数组 //索引数组 $arr=array('I','love','you'); //关联数组 $arr0=array(' ...
- C#中String.Empty、NULL与""三者的区别
String.Empty和""是一样的,都是空,习惯用string.empty. Null和他们就有区别了,就是没有值,也没分配地址,此处可以理解成什么都没有.
- ASP.NET CORE RAZOR :在 ASP.NET Core 中开始使用 Razor Pages
来自:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/razor-pages-start 系统必备安装以下组件:. ...