IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> netstat-网络性能分析常用命令 -> 正文阅读

[系统运维]netstat-网络性能分析常用命令

netstat-网络性能分析常用命令

netstat

netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。使用时如果不带参数,netstat显示活动的 TCP 连接。

语法
netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval][1]
参数或选项说明
-a或–all显示所有连线中的Socket;
-n或–numeric直接使用ip地址,而不通过域名服务器;
-p或–programs显示正在使用Socket的程序识别码和程序名称;
-t或–tcp显示TCP传输协议的连线状况;
-e或–extend显示网络其他相关信息;
-u或–udp显示UDP传输协议的连线状况;
-v或–verbose显示指令执行过程;
-V或–version显示版本信息;
-A<网络类型>或–<网络类型>列出该网络类型连线中的相关地址;
-c或–continuous持续列出网络状态;
-C或–cache显示路由器配置的快取信息;
-F或–fib显示FIB;
-g或–groups显示多重广播功能群组组员名单;
-h或–help在线帮助;
-i或–interfaces显示网络界面信息表单;
-l或–listening显示监控中的服务器的Socket;
-M或–masquerade显示伪装的网络连线;
-N或–netlink或–symbolic显示网络硬件外围设备的符号连接名称;
-o或–timers显示计时器;
-r或–route显示Routing Table;
-s或–statistice显示网络工作信息统计表;
-w或–raw显示RAW传输协议的连线状况;
-x或–unix此参数的效果和指定”-A unix”参数相同;
–ip或–inet此参数的效果和指定”-A inet”参数相同。

实例

下面举些实例,跟着操作加深理解

1. 列出所有端口情况

# 列出所有端口
netstat -a 
# 列出所有TCP端口
netstat -at
# 列出所有UDP端口
netstat -au 

从整体上看,Linux 网络性能调试工具Netstat命令的输出结果可以分为两个部分:第一部分:是Active Internet connections,称为有源TCP连接,在上面的输出结果中,这一部分没有内容,表示暂时还没有TCP连接。第二部分:是Active UNIX domain sockets,称为有源Unix域套接口。输出结果显示的是Unix域套接口的连接情况:

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

禁用反向域名解析,加快查询速度
默认情况下 netstat 会通过反向域名解析技术查找每个 IP 地址对应的主机名。这会降低查找速度。如果你觉得 IP 地址已经足够,而没有必要知道主机名,就使用 -n 选项禁用域名解析功能。

netstat -ant

2. 列出所有处于监听状态的 Sockets

任何网络服务的后台进程都会打开一个端口,用于监听接入的请求。这些正在监听的套接字也和连接的套接字一样,也能被 netstat 列出来。使用 -l 选项列出正在监听的套接字。

# 只显示监听端口
netstat -l
# 显示监听TCP端口
netstat -lt
# 显示监听UDP端口
netstat -lu
# 显示监听UNIX端口
netstat -lx

注意:不要使用 -a 选项,否则 netstat 会列出所有连接,而不仅仅是监听端口。

3. 显示每个协议的统计信息

# 显示所有端口的统计信息
netstat -s
# 显示所有TCP的统计信息
netstat -st
# 显示所有UDP的统计信息
netstat -su

4. 显示 PID 和进程名称

使用 -p 选项时,netstat 必须运行在 root 权限之下,不然它就不能得到运行在 root 权限下的进程名,而很多服务包括 http 和 ftp 都运行在 root 权限之下。

sudo netstat -p

5. 显示核心路由信息

使用 -r 选项打印内核路由信息,打印出来的信息与 route 命令输出的信息一样。我们也可以使用 -n 选项禁止域名解析。

netstat -r

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default gateway 0.0.0.0 UG 0 0 0 eth0
192.168.130.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

netstat -rn # 显示数字格式,不查询主机名称

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.130.1 0.0.0.0 UG 0 0 0 eth0
192.168.130.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

6. 通过进程关键词过滤查找进程

# 通过进程关键词过滤查找进程
netstat -anp | grep 进程关键词或端口


# 查看ssh进程
netstat -antp | grep ssh
# 显示结果:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 734/sshd
tcp 0 52 192.168.130.20:22 119.129.118.189:58737 ESTABLISHED 1846/sshd: root@pts
tcp6 0 0 :::22 :::* LISTEN 734/sshd

# 查看进程也可以用ps命令
# 如 查看指定服务的进程号,如tomcat服务
ps aux|grep tomcat

# 查看端口为22的进程
netstat -antp | grep 22

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 734/sshd
tcp 0 52 192.168.130.20:22 119.129.118.189:58737 ESTABLISHED 1846/sshd: root@pts
tcp6 0 0 :::22 :::* LISTEN 734/sshd


# 查看所有进程和进程的服务id
netstat -anp

通常用于查看某个端口号下建立的连接数,如8080端口号下的连接数统计

netstat -anp|grep:8080|wc -l

7. 打印网络接口信息

netstat 也能打印网络接口信息,但单独使用-i选项输出信息比较原始。将 -e 选项和 -i 选项搭配使用,可以输出用户友好的信息。 同ifconfig 输出的信息一样

netstat -ie

更多用法

打印 active 状态的连接

active 状态的套接字连接用 “ESTABLISHED” 字段表示,所以我们可以使用 grep 命令获得 active 状态的连接:

netstat -atnp | grep ESTA

配合 watch 命令监视 active 状态的连接:

watch -d -n0 "netstat -atnp | grep ESTA"

查看服务是否在运行
如果你想看看 http,smtp 或 ntp 服务是否在运行,使用 grep。使用 grep 命令你可以查看 http 或 smtp 或其它任何你想查看的服务

sudo netstat -aple | grep ntp

其它相关操作命令

netstat -anp | grep tomcat查找到某个进程的pid后,如果下一步想结束进程,可以使用kill命令

kill -15 pid 立即释放资源
kill -9 pid 不会立即释放资源

查看网卡信息

cat  /sbin/ifconfig

查看cpu配置

cat /proc/cpuinfo

查看mem配置

cat /proc/meminfo

修改hosts配置

vim /etc/hosts

参考netstat 命令详解
netstat 的10个基本用法

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 11:10:24  更:2022-07-03 11:14:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:38:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码