linux 如何查看网络
- Linux
- 2025-08-08
- 5
ifconfig
或
ip addr
查看网络配置,
在Linux系统中,有多种方法可以查看网络相关信息,以下是详细介绍:
使用ifconfig命令(较老的命令,部分新系统可能需安装net-tools包)
-
查看所有活动网络接口信息:直接执行
ifconfig
命令,会显示当前主机中已启用(活动)的网络接口信息,例如常见的ens33
(第一块以太网卡)、lo
(回环接口)。ens33
中,en
表示以太网,s
表示热插拔插槽上的设备,数字表示插槽编号;lo
的IP地址默认是0.0.1
,用于本机网络测试。 -
查看指定网络接口信息:执行
ifconfig ens33
(以ens33
为例),可查看该网卡的详细信息,如inet
表示IP地址,netmask
表示子网掩码,broadcast
表示广播地址,ether
表示MAC地址等,还能通过TX
和RX
了解发送和接收的数据包个数、流量等信息。
使用ip命令(更现代、功能更强大的命令)
-
查看网络接口信息:执行
ip addr
或ip a
,与ifconfig
类似,但显示内容更详细灵活,它会列出接口名称、状态标志(如UP
表示启用、BROADCAST
表示支持广播等)、MTU、qdisc、状态、组、链路层信息(如MAC地址)、IP地址信息(包括IPv4和IPv6)以及统计信息(如接收和发送的数据包数量等)。 -
查看路由表信息:执行
ip route
,可查看当前的路由表,了解数据包的转发路径。
使用hostname命令查看主机名
执行hostname
命令,可查看当前主机的主机名,在Linux操作系统中,很多网络服务通过主机名来识别主机,主机名配置不当可能导致程序故障。
使用route命令查看路由表
直接执行route
命令可查看当前主机中的路由表信息,其中Destination
列对应目标网段的地址,Gateway
列对应下一跳路由器的地址,Iface
列对应发送数据的网络接口,结合-n
选项使用,可将路由记录中的地址显示为数字形式,加快执行速度。
使用netstat命令查看网络连接状态等信息
-
查看所有活动的网络连接信息:执行
netstat -a
,会显示主机中所有活动的网络连接信息,包括监听和非监听状态的服务端口。 -
查看特定协议连接:如查看TCP连接用
netstat -t
,查看UDP连接用netstat -u
。 -
显示进程信息:执行
sudo netstat -tulnp
,可显示与网络连接相关联的进程号、进程名称信息,有助于了解是哪个程序在使用特定端口。 -
查看网络统计信息:执行
netstat -s
,能显示TCP、UDP、IP等协议的详细统计数据,如收到的数据包数量、丢包情况等,可用于分析网络性能或排查潜在问题。
使用ss命令查看socket统计信息
-
基本用法:确保安装了iproute程序包后,执行
ss
命令,它比netstat
更快速高效,能显示更多详细的TCP和连接状态信息。 -
常用选项:
-a
显示所有连接和监听端口,-tuln
显示TCP和UDP的监听端口,-p
显示监听端口的进程。
其他相关命令
-
nmap:网络探测和安全审核工具,可用于扫描网络主机和服务,如
nmap localhost
可扫描本地主机的开放端口和服务。 -
tcpdump:网络数据包分析工具,用于捕获和分析网络数据包,如
tcpdump -i eth0
可监听指定网络接口的数据包。 -
iftop:实时显示网络流量和连接的工具,执行
iftop
可实时查看网络流量和连接情况。 -
lsof:列出系统打开的文件,包括网络连接,执行
lsof -i
可显示网络连接信息。
FAQs
Q1:ifconfig和ip命令有什么区别?
A1:ifconfig是较老的命令,在较新的Linux系统中已不被推荐使用,其语法相对简单但功能有限;ip命令是更现代的工具,功能更强大、语法更灵活,适用于更复杂的网络配置和管理任务,且支持配置IPv4和IPv6网络接口。
Q2:如何查看某个特定端口是否被占用?
A2:可以使用sudo netstat -tulnp | grep <端口号>
或ss -tuln | grep <端口号>