博客
关于我
Linux查看服务器端口打开情况
阅读量:804 次
发布时间:2023-02-04

本文共 2200 字,大约阅读时间需要 7 分钟。

查看服务器网络连接状态

网络管理员在日常系统管理中常需要了解服务器的网络连接状态。本文将介绍几种常用的命令和方法,帮助您轻松查看和分析服务器的网络连接情况。

一、常用命令:netstat

netstat 是一个强大的网络统计工具,可以用来显示网络连接、路由表、接口状态等信息。它是每个 Linux 系统必备的网络管理工具。

1. 基本用法

运行 netstat 时,默认会显示当前网络连接的状态。如果需要更详细的信息,可以通过参数来调整输出内容。

例如:

netstat -ano

输出将包括:

  • Proto:协议类型(如 TCP、UDP、IPv6)
  • Recv-Q/Send-Q:接收/发送队列的长度
  • Local Address/Foreign Address:本地地址和远程地址
  • State:连接状态(如 LISTEN, ESTABLISHED 等)
  • Tim:连接的建立时间

2. 常用参数说明

  • -a:显示所有网络接口的状态,默认只显示非 root 用户的接口。
  • -n:将网络地址转换为友好格式(避免数字形式)。
  • -l:显示 Listen 状态的端口。
  • -o:显示 PID 和进程名称(需要 root 权限)。
  • -x:显示协议扩展信息(如 TCP 协议的 Sockets)。

3. 示例:查看所有网络连接

netstat -ano | more

输出示例:

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTENtcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTENtcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTENtcp        0     36 172.20.0.253:22         172.20.0.133:6576       ESTABLISHEDtcp6       0      0 :::8080                 :::*                    LISTENtcp6       0      0 :::22                   :::*                    LISTENudp        0      0 0.0.0.0:5353            0.0.0.0:*               CLOSE...

4. 查看特定端口的连接

netstat -tuln | grep ':80'

输出将只显示以端口 80 相关的连接。

5. 查看用户进程的网络连接

如果需要查看特定用户的网络连接(如 root 用户),可以使用以下命令:

sudo netstat -nelutp

输出将显示:

  • PID/Program Name:进程 ID 和名称
  • User:所属用户
  • Inode:文件描述符

6. 查看路由表

netstat -r

输出将显示内核的路由表,包括:

  • Destination:目标地址
  • Gateway:默认网关
  • Genmask:子网掩码
  • Flags:路由标志

2. 另一种方法:使用 lsof

lsof(List Open Files)是另一种查看网络连接的工具,专门用于显示系统中打开的文件描述符信息。

1. 安装 lsof(CentOS 7)

sudo yum install lsof -y

2. 查看所有网络连接

sudo lsof -i

输出将包括:

  • COMMAND:正在运行的进程名称
  • PID:进程 ID
  • USER:所属用户
  • FD:文件描述符类型和编号
  • TYPE:文件类型(如 TCP、UDP)
  • DEVICE:设备类型(如 IPv4、IPv6)
  • SIZE/OFF:文件大小和偏移量
  • NODE:文件节点 ID
  • NAME:文件名称

3. 查看特定端口的连接

sudo lsof -i :80

3. 网络连接的其他常见用法

1. 查看本地路由表

netstat -r

2. 查看本地网卡信息

netstat -i

输出将包括:

  • Iface:网络接口名称
  • MTU:最大传输单元大小
  • RX-OK/RX-ERR:接收有效/错误包数
  • TX-OK/TX-ERR:发送有效/错误包数

3. 统计网络协议数据

netstat -s

输出将包括:

  • Ip InOut:输入/输出字节数
  • Udp InOut: UDP 输入/输出字节数
  • Tcp InOut: TCP 输入/输出字节数
  • Icmp InOut: ICMP 输入/输出字节数

4. 持续统计网络数据

netstat -c 5

参数 -c 表示每隔 5 秒刷新统计信息。

4. 注意事项

  • 权限说明:部分 netstat 命令需要 root 权限,记得在执行时加上 sudo
  • 防火墙设置:外部主机访问服务器的某些端口可能需要开启防火墙规则。本文不详细说明防火墙配置。
  • 网络环境:以上命令在不同的网络环境下可能会有所不同,建议根据实际情况调整。

通过以上方法,您可以轻松查看服务器的网络连接状态,分析系统运行中的网络问题,确保服务器的稳定性和安全性。

转载地址:http://vikfk.baihongyu.com/

你可能感兴趣的文章
NetBeans IDE8.0需要JDK1.7及以上版本
查看>>
netbeans生成的maven工程没有web.xml文件 如何新建
查看>>
netcat的端口转发功能的实现
查看>>
netfilter应用场景
查看>>
netlink2.6.32内核实现源码
查看>>
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>
NetScaler的常用配置
查看>>
netsh advfirewall
查看>>
NETSH WINSOCK RESET这条命令的含义和作用?
查看>>
Netstat端口占用情况
查看>>
Netty WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
netty之 定长数据流处理数据粘包问题
查看>>
Netty事件注册机制深入解析
查看>>
Netty入门使用
查看>>
Netty原理分析及实战(三)-高可用服务端搭建
查看>>
Netty原理分析及实战(四)-客户端与服务端双向通信
查看>>
Netty发送JSON格式字符串数据
查看>>