Gopherx
发布于 2024-11-28 / 15 阅读
0

Linux网络命令

Linux 网络命令详解

1. ip 命令

ip 是现代 Linux 系统中替代 ifconfig 的命令,用于显示和管理网络接口及路由。

基本语法:

ip [选项] <子命令> [参数]

常用子命令:

  • addr:查看或配置IP地址。
  • link:查看或修改网络设备状态。
  • route:查看或设置路由表。
  • neigh:管理邻居缓存表(ARP表)。

示例:

  1. 查看所有网络接口信息

    ip addr
    
  2. 配置静态IP地址

    ip addr add 192.168.1.100/24 dev eth0
    
  3. 删除IP地址

    ip addr del 192.168.1.100/24 dev eth0
    
  4. 显示路由表

    ip route
    
  5. 添加默认网关

    ip route add default via 192.168.1.1
    

2. ifconfig 命令

ifconfig 是早期用于管理网络接口的命令,部分现代发行版已不推荐使用。

基本语法:

ifconfig [网络接口] [选项]

示例:

  1. 查看网络接口状态

    ifconfig
    
  2. 启用网络接口

    ifconfig eth0 up
    
  3. 禁用网络接口

    ifconfig eth0 down
    
  4. 配置IP地址

    ifconfig eth0 192.168.1.100 netmask 255.255.255.0
    

3. ping 命令

ping 用于测试网络连通性,发送ICMP回显请求并测量响应时间。

基本语法:

ping [选项] <目标地址>

常用选项:

  • -c:指定发送的数据包数目。
  • -i:设置发送数据包的时间间隔。
  • -s:指定数据包大小。

示例:

  1. 测试与目标主机的连通性

    ping 8.8.8.8
    
  2. 发送指定数量的ICMP包

    ping -c 4 www.google.com
    

4. netstatss 命令

4.1 netstat(已被 ss 替代)

netstat 用于显示网络连接、路由表、端口状态等信息。

示例:

  1. 显示所有监听端口

    netstat -tuln
    
  2. 查看具体连接状态

    netstat -an | grep ESTABLISHED
    

4.2 ss

ss 是更高效的工具,用于显示套接字统计信息。

示例:

  1. 显示所有TCP连接

    ss -t
    
  2. 显示所有监听的端口

    ss -l
    
  3. 过滤特定端口的连接

    ss -t sport = :22
    

5. traceroute 命令

traceroute 用于追踪数据包到目标主机的路径。

基本语法:

traceroute [选项] <目标地址>

示例:

  1. 追踪数据包路径

    traceroute www.google.com
    
  2. 设置最大跳数

    traceroute -m 20 www.google.com
    

6. curlwget 命令

6.1 curl

curl 用于从命令行发送HTTP请求,支持多种协议。

示例:

  1. 获取网页内容

    curl http://example.com
    
  2. 下载文件

    curl -O http://example.com/file.zip
    

6.2 wget

wget 主要用于非交互式下载文件。

示例:

  1. 下载文件

    wget http://example.com/file.zip
    
  2. 断点续传

    wget -c http://example.com/file.zip
    

7. dignslookup 命令

7.1 dig

dig 用于查询DNS信息。

示例:

  1. 查询域名的A记录

    dig example.com
    
  2. 查询指定DNS服务器

    dig @8.8.8.8 example.com
    

7.2 nslookup

nslookup 也用于查询DNS记录。

示例:

  1. 查询域名的IP地址

    nslookup example.com
    
  2. 指定DNS服务器

    nslookup example.com 8.8.8.8
    

8. ftpscp 命令

8.1 ftp

ftp 用于连接FTP服务器并传输文件。

示例:

  1. 连接FTP服务器

    ftp ftp.example.com
    
  2. 上传文件

    put localfile.txt
    
  3. 下载文件

    get remotefile.txt
    

8.2 scp

scp 用于通过SSH进行文件传输。

示例:

  1. 从本地传输到远程

    scp file.txt user@remote:/path/to/destination
    
  2. 从远程传输到本地

    scp user@remote:/path/to/file.txt /local/destination
    

9. iptablesufw 命令

9.1 iptables

iptables 用于配置防火墙规则。

示例:

  1. 允许特定端口的流量

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  2. 拒绝所有流量

    iptables -P INPUT DROP
    

9.2 ufw

ufw 是更简化的防火墙工具。

示例:

  1. 启用防火墙

    ufw enable
    
  2. 允许特定端口流量

    ufw allow 22
    

10. tcpdumpnmap 命令

10.1 tcpdump

tcpdump 用于捕获和分析网络数据包。

示例:

  1. 捕获所有流量

    tcpdump
    
  2. 捕获特定接口流量

    tcpdump -i eth0
    

10.2 nmap

nmap 是一款功能强大的端口扫描工具。

示例:

  1. 扫描目标主机的开放端口

    nmap 192.168.1.1
    
  2. 扫描特定端口范围

    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