文章目录
网络连接相关命令
ping
ping 命令是用于测试网络连接和诊断网络问题的工具。它通过向目标主机发送 ICMP(Internet Control Message Protocol)回显请求,并等待回复,以确定目标主机是否可达以及网络延迟的情况。
ping [选项] destination (destination: 目标主机的 IP 地址或域名)
常用选项
- -c <count>:指定发送的回显请求数量。例如,ping -c 4 www.example.com 发送 4 个请求。
- -i <interval>:指定发送请求的间隔时间(秒)。
- -t <ttl>:设置 IP 数据包的生存时间(TTL,Time To Live)。
- -s <size>:指定发送数据包的字节大小。
- -W <timeout>:指定等待回复的超时时间(秒)。
ping www.baidu.com 结果分析
bash
PING www.a.shifen.com (183.2.172.42) 56(84) bytes of data.
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=1 ttl=38 time=6.24 ms
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=2 ttl=38 time=6.20 ms
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=3 ttl=38 time=6.15 ms
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=4 ttl=38 time=6.16 ms
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=5 ttl=38 time=6.16 ms
--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4003ms
rtt min/avg/max/mdev = 6.154/6.185/6.242/0.059 ms
PING 行:
- PING www.a.shifen.com (183.2.172.42):表示正在向 www.a.shifen.com 发送 ICMP 请求,目标的 IP 地址是 183.2.172.42。
- 56(84) bytes of data:发送的数据包大小,56 字节是 ICMP 数据部分,84 字节是 ICMP 包的总大小。
每个回复行:
- 64 bytes from 183.2.172.42:收到的回复的字节数。
- icmp_seq=1:ICMP 请求的序列号(请求的顺序)。
- ttl=38:TTL 值,表示数据包在网络中可以经过的最大跳数,通常用于防止数据包在网络中无限循环。
- time=6.16 ms:从发送请求到收到回复的往返时间(RTT,Round Trip Time),单位为毫秒。
统计信息:
- 5 packets transmitted, 5 received:发送和接收的数据包数量。
- 0% packet loss:丢包率,表示在这次测试期间没有丢失数据包。
- time 4003ms: 测试的总时间。
- rtt min/avg/max/mdev = 6.154/6.185/6.242/0.059 ms:最小、平均、最大和平均偏差的 RTT 时间。
telnet
telnet 命令行用于通过 TCP/IP 协议与远程主机进行通信,常用于测试和管理网络服务。telnet 传输明文报文,不安全,一般不开放 telnet 服务,而改用 ssh 方式。通常使用 telnet 命令来确定服务器的某个端口是否能访问。
telnet [hostname] [port]
- hostname:要连接的远程主机的 IP 地址或域名。
- port:可选,指定要连接的端口号(默认为 23)。
如:telnet 192.168.7.145 22。确认 192.168.7.145 主机的 22 端口是否可用。
-
连接成功,返回如下信息并等待下一步操作:
javaTrying 192.168.7.145... Connected to 192.168.7.145. Escape character is '^]'.
结果解析:
- Trying 192.168.7.145...:命令正在尝试与指定的 IP 地址建立连接。
- Connected to 192.168.7.145.:表示成功连接到目标主机。
- Escape character is '^]'.:可以按 Ctrl + ] 进入命令模式,打开 telnet 的命令提示符,通常显示为 telnet>。
-
终端按下键盘的 Ctrl + ] 组合键即可进入 socket 交互模式:
curl
curl 是一个用于与服务器进行数据传输的命令行工具,支持多种协议,包括 HTTP、HTTPS、FTP、SFTP 等。常用于测试 API、下载文件、上传数据等。
curl [选项] [URL]
- -O: 将下载的文件保存为与远程文件同名。
- -o : 指定输出文件名。例如,curl -o myfile.txt http://example.com/file.txt。
- -I: 只请求 HTTP 头部信息。
- -X : 指定请求方法,如 GET、POST、PUT、DELETE 等。
- -d : 发送 POST 请求的数据。例如,curl -d "param1=value1¶m2=value2" http://example.com。
- -H <header>: 添加自定义 HTTP 头部信息,例如 curl -H "Content-Type: application/json".
- -u <user:password>: 用于提供基本身份验证。
- -L: 跟随 HTTP 重定向。
- -s: 静默模式,不显示进度条和错误信息。
- -v: 显示详细的请求和响应信息。
下载文件
- curl -O http://example.com/file.txt // 下载 file.txt 并将其保存在当前目录。
指定输出文件名
- curl -o myfile.txt http://example.com/file.txt // 下载的文件保存为 myfile.txt。
发送 POST 请求
- curl -X POST -d "param1=value1¶m2=value2" http://example.com/api // POST 请求发送数据到指定的 URL。
发送 GET 请求并查看响应
- curl -I http://example.com // 只请求 HTTP 头部信息。
wget
wget 是一个用于从网络上下载文件的命令行工具,支持 HTTP、HTTPS 和 FTP 协议。它非常强大,适用于下载单个文件、整个网站或进行批量下载。
wget [选项] [URL]
- -O :指定输出文件名。例如,wget -O myfile.html http://example.com。
- -c:断点续传。如果下载被中断,可以使用此选项继续下载未完成的部分。
- -r:递归下载,适用于下载整个网站。
- -P <dir>:指定下载文件保存的目录。例如,wget -P /path/to/dir http://example.com/file。
- -q:静默模式,不显示下载进度。
- -t :设置重试次数。例如,wget -t 5 http://example.com。
- --limit-rate=:限制下载速度,例如 --limit-rate=200k 限制为每秒 200 KB。
下载单个文件
- wget http://example.com/file.txt // 从指定的 URL 下载 file.txt 文件
指定输出文件名 - wget -O myfile.txt http://example.com/file.txt // 将下载的文件保存为 myfile.txt。
设置下载目录
- wget -P /path/to/dir http://example.com/file.txt // 将文件下载到指定的目录 /path/to/dir。