Linux 网络命令详解
1. ip
命令
ip
是现代 Linux 系统中替代 ifconfig
的命令,用于显示和管理网络接口及路由。
基本语法:
ip [选项] <子命令> [参数]
常用子命令:
addr
:查看或配置IP地址。link
:查看或修改网络设备状态。route
:查看或设置路由表。neigh
:管理邻居缓存表(ARP表)。
示例:
-
查看所有网络接口信息:
ip addr
-
配置静态IP地址:
ip addr add 192.168.1.100/24 dev eth0
-
删除IP地址:
ip addr del 192.168.1.100/24 dev eth0
-
显示路由表:
ip route
-
添加默认网关:
ip route add default via 192.168.1.1
2. ifconfig
命令
ifconfig
是早期用于管理网络接口的命令,部分现代发行版已不推荐使用。
基本语法:
ifconfig [网络接口] [选项]
示例:
-
查看网络接口状态:
ifconfig
-
启用网络接口:
ifconfig eth0 up
-
禁用网络接口:
ifconfig eth0 down
-
配置IP地址:
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
3. ping
命令
ping
用于测试网络连通性,发送ICMP回显请求并测量响应时间。
基本语法:
ping [选项] <目标地址>
常用选项:
-c
:指定发送的数据包数目。-i
:设置发送数据包的时间间隔。-s
:指定数据包大小。
示例:
-
测试与目标主机的连通性:
ping 8.8.8.8
-
发送指定数量的ICMP包:
ping -c 4 www.google.com
4. netstat
和 ss
命令
4.1 netstat
(已被 ss
替代)
netstat
用于显示网络连接、路由表、端口状态等信息。
示例:
-
显示所有监听端口:
netstat -tuln
-
查看具体连接状态:
netstat -an | grep ESTABLISHED
4.2 ss
ss
是更高效的工具,用于显示套接字统计信息。
示例:
-
显示所有TCP连接:
ss -t
-
显示所有监听的端口:
ss -l
-
过滤特定端口的连接:
ss -t sport = :22
5. traceroute
命令
traceroute
用于追踪数据包到目标主机的路径。
基本语法:
traceroute [选项] <目标地址>
示例:
-
追踪数据包路径:
traceroute www.google.com
-
设置最大跳数:
traceroute -m 20 www.google.com
6. curl
和 wget
命令
6.1 curl
curl
用于从命令行发送HTTP请求,支持多种协议。
示例:
-
获取网页内容:
curl http://example.com
-
下载文件:
curl -O http://example.com/file.zip
6.2 wget
wget
主要用于非交互式下载文件。
示例:
-
下载文件:
wget http://example.com/file.zip
-
断点续传:
wget -c http://example.com/file.zip
7. dig
和 nslookup
命令
7.1 dig
dig
用于查询DNS信息。
示例:
-
查询域名的A记录:
dig example.com
-
查询指定DNS服务器:
dig @8.8.8.8 example.com
7.2 nslookup
nslookup
也用于查询DNS记录。
示例:
-
查询域名的IP地址:
nslookup example.com
-
指定DNS服务器:
nslookup example.com 8.8.8.8
8. ftp
和 scp
命令
8.1 ftp
ftp
用于连接FTP服务器并传输文件。
示例:
-
连接FTP服务器:
ftp ftp.example.com
-
上传文件:
put localfile.txt
-
下载文件:
get remotefile.txt
8.2 scp
scp
用于通过SSH进行文件传输。
示例:
-
从本地传输到远程:
scp file.txt user@remote:/path/to/destination
-
从远程传输到本地:
scp user@remote:/path/to/file.txt /local/destination
9. iptables
和 ufw
命令
9.1 iptables
iptables
用于配置防火墙规则。
示例:
-
允许特定端口的流量:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
-
拒绝所有流量:
iptables -P INPUT DROP
9.2 ufw
ufw
是更简化的防火墙工具。
示例:
-
启用防火墙:
ufw enable
-
允许特定端口流量:
ufw allow 22
10. tcpdump
和 nmap
命令
10.1 tcpdump
tcpdump
用于捕获和分析网络数据包。
示例:
-
捕获所有流量:
tcpdump
-
捕获特定接口流量:
tcpdump -i eth0
10.2 nmap
nmap
是一款功能强大的端口扫描工具。
示例:
-
扫描目标主机的开放端口:
nmap 192.168.1.1
-
扫描特定端口范围:
nmap -p 20-80 192.168.1.1
总结
命令 | 用途 | 示例 |
---|---|---|
ip | 网络配置和管理 | ip addr show |
ping | 测试网络连通性 | ping -c 4 8.8.8.8 |
netstat /ss | 查看网络连接状态 | ss -tuln |
traceroute | 路径追踪 | traceroute example.com |
curl /wget | 下载文件或发送HTTP请求 | wget http://example.com/file |
dig /nslookup | 查询DNS记录 | dig example.com |
ftp /scp | 文件传输 | scp file user@remote:/path |
iptables /ufw | 防火墙管理 | ufw allow 80 |
tcpdump | 数据包捕获与分析 | tcpdump -i eth0 |
nmap | 端口扫描 | nmap 192.168.1.1 |