一、ping:最基础的网络连通性检查
当你发现网站打不开或者服务器连不上时,第一个该想到的就是ping。它的原理就像对着山谷喊话——如果有回声,说明路是通的。
示例(Linux环境):
# 检查能否访问百度(默认发送4个包)
ping www.baidu.com
# 持续ping测试(按Ctrl+C停止)
ping -t 192.168.1.1
# 指定ping的次数(比如只测5次)
ping -c 5 github.com
应用场景:
- 快速判断本地网络是否正常
- 排查服务器是否在线
- 测试网络延迟(输出中的
time=xx ms就是延迟)
注意事项:
- 有些服务器禁用了ping响应(显示
Request timeout不一定真是网络问题) - 高延迟不一定代表网络差,可能是跨运营商或物理距离远
二、ssh:远程登录的瑞士军刀
想安全地管理远程服务器?ssh就是你的钥匙。它不仅加密所有通信,还能直接执行远程命令。
示例(Linux环境):
# 最基础的登录(用户名为root,服务器IP为1.1.1.1)
ssh root@1.1.1.1
# 指定端口登录(比如服务器ssh端口是2222)
ssh -p 2222 user@example.com
# 直接执行远程命令(查看远程服务器的磁盘空间)
ssh root@1.1.1.1 "df -h"
# 使用密钥登录(避免每次输密码)
ssh -i ~/.ssh/id_rsa root@1.1.1.1
技术细节:
- 首次连接时会提示确认服务器指纹(输入
yes后会自动保存到~/.ssh/known_hosts) - 如果修改了服务器密钥,会报错
Host key verification failed,需要手动删除known_hosts中对应记录
安全建议:
✅ 禁用密码登录,只用密钥认证
✅ 修改默认22端口
三、scp:安全传输文件的利器
scp基于ssh协议,能在本地和远程服务器之间加密传输文件,速度比FTP快,还不用额外装软件。
示例(Linux环境):
# 上传本地文件到远程服务器(将localfile.txt传到远程/home目录)
scp ./localfile.txt root@1.1.1.1:/home/
# 下载远程文件到本地(将远程的/var/log/app.log下载到当前目录)
scp root@1.1.1.1:/var/log/app.log .
# 递归传输整个目录(上传mydata文件夹)
scp -r ./mydata root@1.1.1.1:/tmp/
# 指定端口传输(比如服务器ssh端口是2222)
scp -P 2222 file.txt user@example.com:/home/
性能对比:
- 小文件:
scp和rsync速度接近 - 大文件:
rsync支持断点续传,更适合
常见错误处理:
Permission denied:检查远程目录写入权限No such file or directory:本地或远程路径写错了
四、curl:万能的数据传输工具
无论是测试API、下载文件还是检查网页状态,curl都能搞定。它支持HTTP/FTP等20多种协议。
示例(Linux环境):
# 获取网页内容(显示百度首页HTML)
curl https://www.baidu.com
# 下载文件到本地(保存为downloaded.html)
curl -o downloaded.html https://example.com
# 发送POST请求(带JSON数据)
curl -X POST -H "Content-Type: application/json" \
-d '{"user":"admin","password":"123"}' \
http://api.example.com/login
# 只显示HTTP头信息(调试用)
curl -I https://github.com
高级技巧:
- 用
-v参数查看详细通信过程(包括握手过程) - 配合
jq工具处理JSON响应:curl ... | jq .data
应用场景:
✔️ 快速测试接口是否正常
✔️ 检查CDN节点分布(通过curl -L跟踪重定向)
✔️ 模拟表单提交
五、常见问题解决方案
场景1:ssh连接超时
# 检查防火墙是否放行(临时关闭防火墙测试)
sudo systemctl stop firewalld
# 增加ssh连接等待时间
ssh -o ConnectTimeout=30 root@1.1.1.1
场景2:scp传输大文件中断
# 改用rsync支持断点续传
rsync -P --rsh=ssh bigfile.iso root@1.1.1.1:/backup/
场景3:curl报SSL证书错误
# 跳过证书验证(仅测试环境用)
curl -k https://expired-ssl-site.com
# 指定使用特定证书
curl --cacert /path/to/cert.pem https://site.com
六、工具对比与总结
| 工具 | 最佳场景 | 优点 | 缺点 |
|---|---|---|---|
| ping | 检查网络通断 | 简单直观 | 无法测试端口可用性 |
| ssh | 远程服务器管理 | 加密、支持多种认证方式 | 需要开放端口 |
| scp | 安全传输单个文件 | 无需额外服务 | 大文件传输效率低 |
| curl | API调试/数据获取 | 支持多种协议 | 复杂功能需记参数 |
终极建议:
- 日常排查先
ping再curl,确认是网络问题还是服务问题 - 长期管理服务器建议配置
ssh密钥+别名(在~/.ssh/config设置) - 大数据传输用
rsync替代scp
评论