菜鸟科技网

Linux 上网命令有哪些常用功能?

在Linux系统中,掌握常用的上网命令是进行网络配置、诊断和管理的基础,这些命令不仅适用于服务器运维,也对日常开发和使用具有重要意义,以下将详细介绍Linux中常用的上网命令,包括其功能、用法及实例。

Linux 上网命令有哪些常用功能?-图1
(图片来源网络,侵删)

网络连接检测命令

ping命令是最基础的网络连通性测试工具,通过向目标主机发送ICMP回显请求并接收响应,来判断网络是否可达,其基本用法为ping [目标IP或域名],例如ping www.baidu.com会持续发送数据包并显示往返时间(RTT)和丢包率,可通过ping -c [次数]指定发送次数,如ping -c 4 8.8.8.8仅发送4次数据包。

traceroute(或Windows下的tracert)用于显示数据包到达目标主机所经过的路由路径,其原理是通过发送TTL(生存时间)递增的UDP包,逐跳记录路由节点的响应,例如traceroute -n 8.8.8.8中的-n参数表示以数字形式显示IP地址,避免DNS解析延迟。

网络配置命令

ifconfig(传统工具)或ip(现代推荐工具)用于查看和配置网络接口。ifconfig eth0显示以太网接口的IP、MAC地址等信息;ip addr show功能类似,但语法更统一,若需配置静态IP,可通过ip addr add 192.168.1.100/24 dev eth0添加地址,并用ip link set eth0 up启用接口。

routeip route命令用于管理路由表。ip route add default via 192.168.1.1添加默认网关,ip route del 192.168.1.0/24删除特定路由。

Linux 上网命令有哪些常用功能?-图2
(图片来源网络,侵删)

DNS解析与域名查询

nslookupdig是DNS查询工具。nslookup www.baidu.com直接返回域名对应的IP地址;而dig www.baidu.com提供更详细的DNS记录信息,包括权威服务器、TTL等。host命令则介于两者之间,用法为host www.baidu.com

网络状态与端口监控

netstatss用于查看网络连接状态。netstat -tuln显示所有监听的TCP(-t)和UDP(-u)端口,-n避免域名解析;ss -tuln功能类似,但性能更优,若需查看特定进程的端口占用,可使用netstat -tulpn | grep :80ss -tulpn | grep :80

lsof(list open files)也可用于端口查询,例如lsof -i :80显示占用80端口的进程。

网络数据捕获与分析

tcpdump是强大的网络抓包工具,可实时捕获和分析网络数据包。tcpdump -i eth0 -nn 'port 80'捕获eth0接口上HTTP(80端口)的流量,-nn避免IP和端口解析,通过-w参数可将数据包保存到文件,如tcpdump -i eth0 -w capture.pcap,后续使用Wireshark分析。

Linux 上网命令有哪些常用功能?-图3
(图片来源网络,侵删)

高级网络工具

wgetcurl是常用的文件传输工具。wget https://example.com/file.zip直接下载文件,支持断点续传(-c参数);curl -O https://example.com/file.zip功能类似,但更灵活,可结合-L参数跟随重定向。curl还支持发送HTTP请求,如curl -X POST -d "data" https://api.example.com

nmap用于端口扫描和网络探测,例如nmap -sS -O 192.168.1.1进行TCP SYN扫描并检测操作系统类型。

防火墙与安全配置

iptablesfirewalld是Linux防火墙管理工具,通过iptables -A INPUT -p tcp --dport 22 -j ACCEPT允许SSH(22端口)访问,-A表示添加规则,-j ACCEPT为动作,firewalld则采用区域(zone)管理,例如firewall-cmd --permanent --add-service=http开放HTTP服务。

常用命令对比表

命令 功能 常用参数示例
ping 测试网络连通性 ping -c 4 8.8.8.8
traceroute 路由跟踪 traceroute -n 8.8.8.8
ip 网络接口与路由配置 ip addr add 192.168.1.100/24 dev eth0
nslookup DNS查询 nslookup www.baidu.com
netstat/ss 查看网络连接与端口 ss -tuln
tcpdump 网络抓包 tcpdump -i eth0 -nn 'port 80'
wget/curl 文件传输与HTTP请求 wget https://example.com/file.zip
nmap 端口扫描 nmap -sS 192.168.1.1
iptables 防火墙规则管理 iptables -A INPUT -p tcp --dport 22 -j ACCEPT

相关问答FAQs

Q1: 如何在Linux中永久修改静态IP地址?
A1: 以Ubuntu系统为例,需编辑/etc/netplan/01-netcfg.yaml文件,添加以下配置:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]

保存后执行sudo netplan apply使配置生效,CentOS系统则需修改/etc/sysconfig/network-scripts/ifcfg-eth0,设置BOOTPROTO=static并配置IP、网关等参数。

Q2: 如何解决Linux无法解析域名的问题?
A2: 首先检查/etc/resolv.conf中的DNS服务器配置,确保包含有效DNS(如nameserver 8.8.8.8),若配置正确但无法解析,可能是网络服务问题,可通过systemctl restart NetworkManager(Ubuntu)或systemctl restart network(CentOS)重启网络服务,检查防火墙是否拦截DNS请求(如iptables -L | grep 53),或使用dig @8.8.8.8 www.baidu.com直接测试DNS服务器响应。

分享:
扫描分享到社交APP
上一篇
下一篇