四、详细解释:网络与连接操作命令

1. ping – 测试网络连通性
  • 用途:检查与目标主机之间的网络连接是否通畅。

  • 语法

    ping [选项] 目标IP或域名
    
  • 常用选项

    • -c 次数:指定发送数据包的次数(默认无限次,需手动 Ctrl+C 终止)。
    • -i 秒数:设置发送间隔(默认1秒)。
    • -t(Windows)或 -T(Linux):持续发送(无次数限制)。
  • 示例

    # 测试与百度的连通性(发送4个包)
    ping -c 4 www.baidu.com
    
    # 测试局域网设备是否在线
    ping 192.168.1.1
    
  • 输出解析

    • 正常响应:显示 64 bytes from... 及往返时间(RTT)。
    • 超时/丢包:显示 Request timeout,可能网络阻塞或目标不可达。
    • 未知主机:显示 unknown host,DNS解析失败。

2. curl – 发送 HTTP 请求
  • 用途:通过命令行发送 HTTP/HTTPS 请求,支持下载、上传、API 调用。

  • 语法

    curl [选项] URL
    
  • 常用选项

    • -I:仅显示响应头(检查状态码)。
    • -o 文件名:将输出保存到文件(下载文件)。
    • -X POST:指定请求方法(如 POST)。
    • -d "参数":发送 POST 请求的数据。
    • -H "头信息":添加请求头(如 -H "Content-Type: application/json")。
  • 示例

    # 下载文件
    curl -o image.jpg https://example.com/image.jpg
    
    # 调用API并传递JSON数据
    curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://api.example.com
    
    # 检查网站是否可访问
    curl -I https://www.google.com
    

3. wget – 下载文件
  • 用途:从网络下载文件(支持HTTP/HTTPS/FTP)。

  • 语法

    wget [选项] URL
    
  • 常用选项

    • -c:断点续传(继续未完成的下载)。
    • -O 文件名:指定保存的文件名。
    • -r:递归下载(下载整个网站)。
    • -q:静默模式(不显示下载进度)。
  • 示例

    # 下载文件并重命名
    wget -O data.zip https://example.com/files/data_v1.zip
    
    # 断点续传下载大文件
    wget -c https://example.com/large_file.iso
    

4. netstat/ss – 查看网络连接与端口监听
  • 用途:查看网络连接状态、监听端口及进程信息。

  • 语法

    netstat [选项]       # 旧版工具
    ss [选项]           # 更高效的替代工具
    
  • 常用选项

    • -t:显示 TCP 连接。
    • -u:显示 UDP 连接。
    • -l:仅显示监听中的端口。
    • -n:以数字形式显示地址和端口(不解析域名)。
    • -p:显示占用端口的进程(需 sudo 权限)。
  • 示例

    # 查看所有TCP监听端口及对应进程
    sudo netstat -tulnp
    # 或使用ss
    sudo ss -tulnp
    
    # 检查80端口是否被占用
    sudo ss -tln | grep ':80'
    

5. ifconfig/ip – 查看与配置网络接口
  • 用途:管理网络接口(IP地址、子网掩码、MAC地址等)。

  • 语法

    ifconfig          # 旧版命令(部分系统已弃用)
    ip [选项]         # 新版命令(推荐)
    
  • 常用操作

    • 查看所有接口

      ifconfig       # 旧版
      ip addr show   # 新版
      
    • 启用/禁用网卡

      ifconfig eth0 up     # 启用eth0
      ifconfig eth0 down   # 禁用eth0
      
    • 设置临时IP地址

      sudo ip addr add 192.168.1.100/24 dev eth0
      
  • 示例

    # 查看网卡详细信息(新版)
    ip addr show eth0
    
    # 检查默认网关
    ip route show
    

6. ssh – 安全远程登录
  • 用途:通过加密通道远程连接到 Linux 服务器。

  • 语法

    ssh [选项] 用户名@目标IP
    
  • 常用选项

    • -p 端口:指定 SSH 端口(默认22)。
    • -i 密钥文件:使用密钥文件登录(免密)。
    • -L 本地端口:目标地址:目标端口:本地端口转发。
  • 示例

    # 使用密码登录远程服务器
    ssh user@192.168.1.100
    
    # 使用密钥登录(避免每次输密码)
    ssh -i ~/.ssh/id_rsa user@192.168.1.100
    
    # 端口转发:将本地的8080转发到远程的80端口
    ssh -L 8080:localhost:80 user@192.168.1.100
    

7. scp – 安全文件传输
  • 用途:通过 SSH 加密通道在本地与远程主机之间传输文件。

  • 语法

    scp [选项] 源文件 目标路径
    
  • 常用选项

    • -r:递归传输目录。
    • -P 端口:指定 SSH 端口(默认22)。
    • -i 密钥文件:使用密钥认证。
  • 示例

    # 上传本地文件到远程服务器
    scp file.txt user@192.168.1.100:/home/user/
    
    # 从远程服务器下载目录到本地
    scp -r user@192.168.1.100:/var/log /tmp/
    
    # 指定端口和密钥传输
    scp -P 2222 -i ~/.ssh/key.pem data.csv user@example.com:/backup/
    

实战案例:排查服务器网络问题

场景:服务器无法访问外部网站
  1. 检查本地网络连通性

    ping 8.8.8.8          # 测试与公网IP的连通性
    ping www.baidu.com    # 测试DNS解析是否正常
    
  2. 检查本地端口监听

    ss -tln | grep ':80'  # 确认Web服务是否在监听80端口
    
  3. 检查防火墙规则

    sudo ufw status       # Ubuntu防火墙状态
    sudo firewall-cmd --list-all  # CentOS防火墙规则
    
  4. 跟踪路由路径

    traceroute www.baidu.com  # 查看数据包路径(需安装traceroute)
    

小贴士:
  1. SSH 安全建议

    • 禁用 root 登录:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no
    • 修改默认端口:设置 Port 2222,减少暴力破解风险。
  2. 网络调试工具

    • tcpdump:抓包分析网络流量。
    • nmap:扫描开放端口和服务。
  3. 代理配置

    # 通过代理使用curl
    curl -x http://proxy.example.com:8080 https://target.com
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值