Ubuntu Network Tools

1 minute read

Published:

在网络检测过程中,ipss命令已逐步取代传统的ifconfignetstat命令。ipss命令是基于iproute2包的工具,它们更高效、功能更强大,因此推荐使用这些命令来管理和调试网络设置。

0x01 Internet Protocol 命令介绍{#InternetProtocol}

ip 命令替代了旧的 ifconfig 命令,采用模块化设计,包含多个功能模块,主要用于网络设备、路由、地址等的管理。

常用模块

  • link:查看网络设备
  • address:设备上的协议地址
  • addrlabel:协议地址选择标签配置
  • route:路由表条目
  • rule:路由策略数据库中的规则

Ubuntu 官方也推荐使用 ip 命令代替 ifconfig,并且建议使用 ss 代替 netstat。这两个工具的引入增强了网络管理的灵活性和可扩展性。

常用操作及选项

以下是一些常用的ip命令操作:

# 查看网口信息
ip link show
# 开启网卡 eno1
ip link set eno1 up
# 设置网卡 MTU 为 1400
ip link set eno1 mtu 1400
# 查看设备 IP 地址
ip addr show
# 为 eno1 网卡设置 IP 地址
ip addr add 192.168.0.1/24 dev eno1
# 删除 eno1 网卡上的 IP 地址
ip addr del 192.168.0.1/24 dev eno1
# 设置默认网关
ip route add default via 192.168.1.254
# 设置特定路由,通过网卡 eno1 发送流量
ip route add 192.168.4.0/24 via 192.168.0.254 dev eno1

通过这些命令,用户可以轻松地查看和修改网络配置。

0x02 Socket Statistics 命令介绍{#SocketStatistics}

Socket Statistics ss 命令是用来查看网络套接字的状态和统计信息,已逐渐取代传统的netstat命令。ssnetstat更高效,能够处理大量连接并快速返回结果,同时支持更多的过滤选项,适合用于快速查询和调试。

常用 ss 命令选项

# 查看所有连接(包括监听中的连接)
ss -a
# 查看所有监听的端口
ss -l
# 查看所有 TCP 连接
ss -t
# 查看所有 UDP 连接
ss -u
# 查看连接的概览统计信息
ss -s
# 查看指定端口的连接
ss -t dst "192.168.1.1"
# 查看详细信息
ss -n   # 数字化显示 IP 和端口
ss -p   # 显示连接与进程的对应关系
ss -i   # 显示连接的详细信息,包括内核状态

示例

# 查看所有 TCP 连接,包括监听和已建立的连接
ss -t -a
# 查看所有监听中的 TCP 端口
ss -ltn
# 查看与进程相关的端口
ss -pln
# 查看所有 UDP 连接
ss -u -a

ss命令提供了比netstat更多的过滤选项,能够帮助用户精确地查询网络连接的详细信息。

ss 命令的优势

  1. 性能高ssnetstat更高效,特别是在处理大量连接时能够迅速返回结果。
  2. 功能强大:支持更多的过滤选项,能够根据协议、端口、状态等条件查询信息。
  3. 更简洁的输出ss默认输出简洁,但也支持详细输出,满足不同用户需求。
  4. 内核支持:直接与内核交互,提供准确的网络连接状态。

0x03 总结

随着 iproute2 包的普及,ipss 命令已成为现代Linux系统中网络管理的标准工具。通过这些命令,用户可以更高效、灵活地管理网络设备、查看网络状态以及调试网络连接。推荐用户逐步告别传统的 ifconfignetstat 命令,转而使用功能更强大、性能更优的 ipss


References