当前位置:首页 > Linux > 正文

linux 如何查看网络

Linux 中,常用 ifconfigip addr 查看网络配置,

在Linux系统中,有多种方法可以查看网络相关信息,以下是详细介绍:

使用ifconfig命令(较老的命令,部分新系统可能需安装net-tools包)

  1. 查看所有活动网络接口信息:直接执行ifconfig命令,会显示当前主机中已启用(活动)的网络接口信息,例如常见的ens33(第一块以太网卡)、lo(回环接口)。ens33中,en表示以太网,s表示热插拔插槽上的设备,数字表示插槽编号;lo的IP地址默认是0.0.1,用于本机网络测试。

  2. 查看指定网络接口信息:执行ifconfig ens33(以ens33为例),可查看该网卡的详细信息,如inet表示IP地址,netmask表示子网掩码,broadcast表示广播地址,ether表示MAC地址等,还能通过TXRX了解发送和接收的数据包个数、流量等信息。

使用ip命令(更现代、功能更强大的命令)

  1. 查看网络接口信息:执行ip addrip a,与ifconfig类似,但显示内容更详细灵活,它会列出接口名称、状态标志(如UP表示启用、BROADCAST表示支持广播等)、MTU、qdisc、状态、组、链路层信息(如MAC地址)、IP地址信息(包括IPv4和IPv6)以及统计信息(如接收和发送的数据包数量等)。

  2. 查看路由表信息:执行ip route,可查看当前的路由表,了解数据包的转发路径。

使用hostname命令查看主机名

执行hostname命令,可查看当前主机的主机名,在Linux操作系统中,很多网络服务通过主机名来识别主机,主机名配置不当可能导致程序故障。

linux 如何查看网络  第1张

使用route命令查看路由表

直接执行route命令可查看当前主机中的路由表信息,其中Destination列对应目标网段的地址,Gateway列对应下一跳路由器的地址,Iface列对应发送数据的网络接口,结合-n选项使用,可将路由记录中的地址显示为数字形式,加快执行速度。

使用netstat命令查看网络连接状态等信息

  1. 查看所有活动的网络连接信息:执行netstat -a,会显示主机中所有活动的网络连接信息,包括监听和非监听状态的服务端口。

  2. 查看特定协议连接:如查看TCP连接用netstat -t,查看UDP连接用netstat -u

  3. 显示进程信息:执行sudo netstat -tulnp,可显示与网络连接相关联的进程号、进程名称信息,有助于了解是哪个程序在使用特定端口。

  4. 查看网络统计信息:执行netstat -s,能显示TCP、UDP、IP等协议的详细统计数据,如收到的数据包数量、丢包情况等,可用于分析网络性能或排查潜在问题。

使用ss命令查看socket统计信息

  1. 基本用法:确保安装了iproute程序包后,执行ss命令,它比netstat更快速高效,能显示更多详细的TCP和连接状态信息。

  2. 常用选项-a显示所有连接和监听端口,-tuln显示TCP和UDP的监听端口,-p显示监听端口的进程。

其他相关命令

  1. nmap:网络探测和安全审核工具,可用于扫描网络主机和服务,如nmap localhost可扫描本地主机的开放端口和服务。

  2. tcpdump:网络数据包分析工具,用于捕获和分析网络数据包,如tcpdump -i eth0可监听指定网络接口的数据包。

  3. iftop:实时显示网络流量和连接的工具,执行iftop可实时查看网络流量和连接情况。

  4. lsof:列出系统打开的文件,包括网络连接,执行lsof -i可显示网络连接信息。

FAQs

Q1:ifconfig和ip命令有什么区别?
A1:ifconfig是较老的命令,在较新的Linux系统中已不被推荐使用,其语法相对简单但功能有限;ip命令是更现代的工具,功能更强大、语法更灵活,适用于更复杂的网络配置和管理任务,且支持配置IPv4和IPv6网络接口。

Q2:如何查看某个特定端口是否被占用?
A2:可以使用sudo netstat -tulnp | grep <端口号>ss -tuln | grep <端口号>

0