当前位置: 首页 > ops >正文

网络相关命令

网络相关

一、IP配置与网络

**常用命令:**ifconfig/ip addr、ping 、netstat、ss、curl、wget、

1、ifconfig

(1)、命令简介

ifconfig(全称 Interface Configuration)是 Linux/Unix 系统中用于 配置和显示网络接口信息 的经典命令,但现代 Linux 系统更推荐使用 ip 命令(如 ip addr)。

(2)、常用命令示例

查看所有网络接口

root@master:~# ifconfig 
ens34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.0.117  netmask 255.255.255.0  broadcast 192.168.0.255inet6 fe80::20c:29ff:feb6:e83e  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:b6:e8:3e  txqueuelen 1000  (Ethernet)RX packets 87772  bytes 61933326 (61.9 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 19083  bytes 2573975 (2.5 MB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 358  bytes 35759 (35.7 KB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 358  bytes 35759 (35.7 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0关键字段:
ens34:物理网卡(名称可能为 ens33、enp0s3 等,取决于系统)。
lo:本地回环接口(用于本地通信)。
inet:IPv4 地址。
ether:MAC 地址。
RX/TX:接收/发送的数据统计。

查看指定网卡

root@master:~# ifconfig ens34
ens34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.0.117  netmask 255.255.255.0  broadcast 192.168.0.255inet6 fe80::20c:29ff:feb6:e83e  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:b6:e8:3e  txqueuelen 1000  (Ethernet)RX packets 87818  bytes 61936908 (61.9 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 19097  bytes 2577155 (2.5 MB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

启用/禁用网卡

ifconfig eth0 up      # 启用网卡
ifconfig eth0 down    # 禁用网卡

设置 IP 地址和子网掩码

ifconfig eth0 192.168.1.100 netmask 255.255.255.0 #仅临时生效,重启后失效
#永久修改需要跳转网络配置文件:
Debian/Ubuntu:/etc/network/interfaces
CentOS/RHEL:/etc/sysconfig/network-scripts/ifcfg-eth0 #修改对应的文件,ens34对应ifcfg-ens34

修改 MAC 地址(需 root)

ifconfig eth0 hw ether 00:11:22:33:44:55

添加多个 IP 地址(别名)

ifconfig eth0:0 192.168.1.200  # 添加别名 IP
ifconfig eth0:0 down           # 删除别名 IP

2、ip addr

(1)、命令简介

ip addr(或 ip address)是 Linux 系统中 查看和管理网络接口 IP 地址 的现代命令,属于 iproute2 工具集,比传统的 ifconfig 更强大且推荐使用。

(2)、命令语法

#命令语法:ip addr [动作] [选项]
#常用动作(Action)
动作			作用						示例
show	显示接口信息(默认动作)	ip addr show eth0
add		添加 IP 地址				ip addr add 192.168.1.100/24 dev eth0
del		删除 IP 地址				ip addr del 192.168.1.100/24 dev eth0
flush	清空所有 IP 地址			ip addr flush eth0
replace	替换已有 IP 地址			ip addr replace 192.168.1.200/24 dev eth0
#常用选项(Options)
选项		作用								示例
-4		仅显示 IPv4 地址				ip -4 addr
-6		仅显示 IPv6 地址				ip -6 addr
-s		显示统计信息(如数据包计数)		ip -s addr show eth0
-d		显示详细信息					ip -d addr show eth0
-t		显示缓存时间(IPv6 地址有效期)	ip -t addr show eth0
-br		简洁输出(仅显示基本字段)		ip -br addr

(3)、常用命令示例

查看所有网络接口

root@master:~# ip addr show #或者简写ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:b6:e8:3e brd ff:ff:ff:ff:ff:ffaltname enp2s2inet 192.168.0.117/24 metric 100 brd 192.168.0.255 scope global dynamic ens34valid_lft 84839sec preferred_lft 84839secinet6 fe80::20c:29ff:feb6:e83e/64 scope link valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 1e:46:87:f1:53:db brd ff:ff:ff:ff:ff:ffinet 172.17.0.1/16 brd 172.17.255.255 scope global docker0valid_lft forever preferred_lft forever
root@master:~# ip -br addr #简洁输出
lo               UNKNOWN        127.0.0.1/8 ::1/128 
ens34            UP             192.168.0.117/24 metric 100 fe80::20c:29ff:feb6:e83e/64 
docker0          DOWN           172.17.0.1/16 

查看指定接口的详细信息

root@master:~# ip addr show ens34 #查看指定ens34网口
2: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:b6:e8:3e brd ff:ff:ff:ff:ff:ffaltname enp2s2inet 192.168.0.117/24 metric 100 brd 192.168.0.255 scope global dynamic ens34valid_lft 84702sec preferred_lft 84702secinet6 fe80::20c:29ff:feb6:e83e/64 scope link valid_lft forever preferred_lft forever
root@master:~# ip a show dev ens34 #查看指定ens34网口
2: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:b6:e8:3e brd ff:ff:ff:ff:ff:ffaltname enp2s2inet 192.168.0.117/24 metric 100 brd 192.168.0.255 scope global dynamic ens34valid_lft 84696sec preferred_lft 84696secinet6 fe80::20c:29ff:feb6:e83e/64 scope link valid_lft forever preferred_lft forever

添加/删除 IP 地址

root@master:~# ip addr add 192.168.0.200/24 dev ens34 #添加IPv4地址
root@master:~# ip a show dev ens34
2: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:b6:e8:3e brd ff:ff:ff:ff:ff:ffaltname enp2s2inet 192.168.0.117/24 metric 100 brd 192.168.0.255 scope global dynamic ens34valid_lft 84505sec preferred_lft 84505secinet 192.168.0.200/24 scope global secondary ens34  #添加完成valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:feb6:e83e/64 scope link valid_lft forever preferred_lft forever
root@master:~# ip addr add 2001:db8::1/64 dev ens34 # 添加 IPv6 地址
root@master:~# ip a show dev ens34
2: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:b6:e8:3e brd ff:ff:ff:ff:ff:ffaltname enp2s2inet 192.168.0.117/24 metric 100 brd 192.168.0.255 scope global dynamic ens34valid_lft 84457sec preferred_lft 84457secinet 192.168.0.200/24 scope global secondary ens34valid_lft forever preferred_lft foreverinet6 2001:db8::1/64 scope global valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:feb6:e83e/64 scope link valid_lft forever preferred_lft forever
root@master:~# sudo ip addr del 192.168.0.200/24 dev ens34 #删除IPv4地址
root@master:~# sudo ip addr del 2001:db8::1/64 dev ens34  #删除IPv6地址              
root@master:~# ip a show dev ens34                        
2: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:b6:e8:3e brd ff:ff:ff:ff:ff:ffaltname enp2s2inet 192.168.0.117/24 metric 100 brd 192.168.0.255 scope global dynamic ens34valid_lft 84429sec preferred_lft 84429secinet6 fe80::20c:29ff:feb6:e83e/64 scope link valid_lft forever preferred_lft forever

清空接口的所有 IP 地址

sudo ip addr flush eth0

检查 IP 冲突

root@master:~# ip addr show to 192.168.0.117 #IP 已被其他设备占用,会显示多个 MAC 地址。
2: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000altname enp2s2inet 192.168.0.117/24 metric 100 brd 192.168.0.255 scope global dynamic ens34valid_lft 84274sec preferred_lft 84274sec 

绑定多个 IP 地址(别名)

root@master:~# sudo ip addr add 192.168.0.201/24 dev ens34 label ens34:1 #添加第二个IP
root@master:~# ip addr show ens34 
2: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:b6:e8:3e brd ff:ff:ff:ff:ff:ffaltname enp2s2inet 192.168.0.117/24 metric 100 brd 192.168.0.255 scope global dynamic ens34valid_lft 84204sec preferred_lft 84204secinet 192.168.0.201/24 scope global secondary ens34:1valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:feb6:e83e/64 scope link valid_lft forever preferred_lft forever

临时禁用/启用 IP 地址

# 禁用某个 IP(保留配置但停止使用)
sudo ip addr del 192.168.1.100/24 dev ens34# 重新启用
sudo ip addr add 192.168.1.100/24 dev ens34

3、ping

(1)、命令简介

ping 是网络诊断中最常用的工具之一,用于 测试主机之间的网络连通性。它通过发送 ICMP Echo Request 数据包并等待目标主机的 ICMP Echo Reply 来判断网络是否通畅、延迟是否正常。

(2)、命令选项清单

#命令语法:ping [选项] <目标主机或IP>
#选项			说明							示例
-c <次数>	指定发送的 ping 次数			ping -c 4 google.com
-i <秒>		设置 ping 间隔时间(默认 1 秒)	ping -i 2 google.com
-s <字节>	设置数据包大小(默认 56 字节)	ping -s 100 google.com
-t <TTL>	设置 TTL(生存时间)			ping -t 64 google.com
-W <秒>		设置超时时间					ping -W 3 google.com
-q			只显示统计结果(安静模式)		ping -q -c 5 google.com
-D			显示时间戳					ping -D google.com
-f			洪水ping(高速发送,需 root)	sudo ping -f google.com
-4			强制使用 IPv4				ping -4 google.com
-6			强制使用 IPv6				ping -6 google.com

(3)、常用命令示例

基础网络检测

root@master:~# ping 192.168.0.118
PING 192.168.0.118 (192.168.0.118) 56(84) bytes of data.
64 bytes from 192.168.0.118: icmp_seq=1 ttl=64 time=0.180 ms
64 bytes from 192.168.0.118: icmp_seq=2 ttl=64 time=0.127 ms
64 bytes from 192.168.0.118: icmp_seq=3 ttl=64 time=0.125 ms
64 bytes from 192.168.0.118: icmp_seq=4 ttl=64 time=0.120 ms
^C
--- 192.168.0.118 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3075ms
rtt min/avg/max/mdev = 0.120/0.138/0.180/0.024 ms
#icmp_seq:数据包序列号(检查是否丢包)。
#ttl(Time To Live):数据包生存时间(每经过一个路由器减 1)。
#time:往返时间(RTT,单位 ms,衡量延迟)。
#统计部分:
#packet loss:丢包率(0% 表示网络良好)。
#min/avg/max/mdev:最小/平均/最大/标准差延迟。

限制次数、单次测试包大小、显示时间戳

root@master:~# ping -c 4 192.168.0.118 #限制ping次数为4
PING 192.168.0.118 (192.168.0.118) 56(84) bytes of data.
64 bytes from 192.168.0.118: icmp_seq=1 ttl=64 time=0.216 ms
64 bytes from 192.168.0.118: icmp_seq=2 ttl=64 time=0.124 ms
64 bytes from 192.168.0.118: icmp_seq=3 ttl=64 time=0.105 ms
64 bytes from 192.168.0.118: icmp_seq=4 ttl=64 time=0.132 ms--- 192.168.0.118 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3079ms
rtt min/avg/max/mdev = 0.105/0.144/0.216/0.042 ms
root@master:~# ping -s 1000 -c 4 192.168.0.118 #每次发送包大小为1000,共4次
PING 192.168.0.118 (192.168.0.118) 1000(1028) bytes of data.
1008 bytes from 192.168.0.118: icmp_seq=1 ttl=64 time=0.144 ms
1008 bytes from 192.168.0.118: icmp_seq=2 ttl=64 time=0.194 ms
1008 bytes from 192.168.0.118: icmp_seq=3 ttl=64 time=0.140 ms
1008 bytes from 192.168.0.118: icmp_seq=4 ttl=64 time=0.124 ms--- 192.168.0.118 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3056ms
rtt min/avg/max/mdev = 0.124/0.150/0.194/0.026 ms
root@master:~# ping -D 192.168.0.118 #添加时间戳显示
PING 192.168.0.118 (192.168.0.118) 56(84) bytes of data.
[1753278959.331787] 64 bytes from 192.168.0.118: icmp_seq=1 ttl=64 time=0.191 ms
[1753278960.354361] 64 bytes from 192.168.0.118: icmp_seq=2 ttl=64 time=0.096 ms
[1753278961.378480] 64 bytes from 192.168.0.118: icmp_seq=3 ttl=64 time=0.112 ms
[1753278962.402555] 64 bytes from 192.168.0.118: icmp_seq=4 ttl=64 time=0.214 ms
[1753278963.426494] 64 bytes from 192.168.0.118: icmp_seq=5 ttl=64 time=0.158 ms
^C
--- 192.168.0.118 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4095ms
rtt min/avg/max/mdev = 0.096/0.154/0.214/0.044 ms

常见问题

ping 不通的可能原因?

  1. 目标主机禁用了 ICMP(如企业防火墙)。

  2. 本地网络配置错误(IP、网关、DNS)。

  3. 中间路由器拦截 ICMP 包。

  4. 物理链路问题(网线、Wi-Fi 断开)。

如何停止 ping?

  • Ctrl + C 终止。

ping 返回 Destination Host Unreachable?

  • 表示本地主机无法到达目标网络(检查路由表 ip route)。

ping 返回 Request timeout?

  • 表示目标主机未响应(可能是防火墙丢弃 ICMP 包)。

4、netstat

(1)、命令简介

netstat(Network Statistics)是 Linux/Unix 系统中用于 监控网络连接、路由表、接口统计 的经典工具,可查看 TCP/UDP 端口、监听状态、网络流量等。虽然现代系统推荐使用 ss(Socket Statistics),但 netstat 仍广泛用于兼容性场景。

(2)、命令选项清单

#命令语法:netstat [选项]
#选项		说明
-a		显示所有连接(包括监听和非监听)
-t		仅显示 TCP 连接
-u		仅显示 UDP 连接
-n		禁用域名解析(直接显示 IP)
-l		仅显示监听(LISTEN)状态的端口
-p		显示进程名/PID(需 root)
-r		显示路由表(等同 route -n)
-s		显示网络协议统计(如 TCP/UDP 丢包)
-i		显示网络接口统计(类似 ifconfig)
-c		持续输出(实时刷新)

(3)、常用命令示例

查看所有活动连接

root@master:~# netstat -a #仅截取部分内容
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN     
tcp        0    224 master:ssh              192.168.0.107:64444     ESTABLISHED
#Proto:协议(TCP/UDP)。
#Local Address:本地 IP:端口。
#Foreign Address:远程 IP:端口。
#State:连接状态(如 ESTABLISHED、LISTEN)。

查看所有 TCP/UDP 连接

root@master:~# netstat -at #查看TCP连接
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN     
tcp        0    320 master:ssh              192.168.0.107:64444     ESTABLISHED
tcp        0      0 master:ssh              192.168.0.107:64750     ESTABLISHED
tcp6       0      0 [::]:http               [::]:*                  LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN  
#状态			含义
#LISTEN		端口正在监听
#ESTABLISHED	已建立的连接
#TIME_WAIT	连接正在关闭
#CLOSE_WAIT	远程已关闭,本地未关闭root@master:~# netstat -au #查看UDP连接
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 localhost:domain        0.0.0.0:*                          
udp        0      0 master:bootpc           0.0.0.0:* 

查看监听端口

root@master:~# netstat -tulnp #后可以添加 | grep 端口/进程名快速查找端口/进程占用情况
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      18963/nginx: master 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      885/sshd: /usr/sbin 
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      809/systemd-resolve 
tcp6       0      0 :::80                   :::*                    LISTEN      18963/nginx: master 
tcp6       0      0 :::22                   :::*                    LISTEN      885/sshd: /usr/sbin 
udp        0      0 127.0.0.53:53           0.0.0.0:*                           809/systemd-resolve 
udp        0      0 192.168.0.117:68        0.0.0.0:*                           807/systemd-network 
#-tuln说明:
#-t:TCP
#-u:UDP
#-l:仅监听
#-n:禁用域名解析
#-p:显示进程名/PID

查看路由表

root@master:~# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 ens34
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 ens34
192.168.0.1     0.0.0.0         255.255.255.255 UH        0 0          0 ens34

查看网络接口统计

root@master:~# netstat -i
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
docker0   1500        0      0      0 0             0      0      0      0 BMU
ens34     1500    89951      0      0 0         19689      0      0      0 BMRU
ens34:1   1500      - no statistics available -                        BMRU
lo       65536      372      0      0 0           372      0      0      0 LRU

5、ss

(1)、命令简介

ss(Socket Statistics)是 Linux 系统中 查看和分析网络套接字(Socket)信息 的现代工具,用于替代传统的 netstat。它直接从内核获取数据,速度更快功能更强大,适合监控 TCP/UDP 连接、端口占用、网络状态等。

(2)、命令选项清单

#命令语法:ss [选项] [过滤条件]
#选项		说明
-t		显示 TCP 连接
-u		显示 UDP 连接
-l		仅显示监听(LISTEN)状态的端口
-n		禁用域名解析(直接显示 IP 和端口号)
-p		显示进程信息(需 root)
-a		显示所有连接(包括监听和非监听)
-s		显示套接字统计信息(如 TCP 状态分布)
-o		显示计时器信息(如连接保持时间)
-i		显示 TCP 内部信息(如拥塞窗口)
-4		仅显示 IPv4 连接
-6		仅显示 IPv6 连接
-r		尝试解析端口对应的服务名称
-H		不显示表头(适合脚本处理)

(3)、常用命令示例

查看所有 TCP/UDP 连接

root@master:~# ss -t
State	Recv-Q	Send-Q	Local Address:Port	 Peer Address:Port   	Process                  
ESTAB	0     	0     	192.168.0.117:ssh 	192.168.0.107:64444  	                         
ESTAB	0     	0     	192.168.0.117:ssh 	192.168.0.107:64750  	
root@master:~# ss -u
Recv-Q	Send-Q	Local Address:Port		Peer Address:Port	Process    
#部分说明
#State:连接状态(ESTAB=已建立,LISTEN=监听)。
#Recv-Q/Send-Q:接收/发送队列中的数据量(非零可能表示阻塞)。

查看所有监听端口

root@master:~# ss -tulnp #配合grep可以快速查询进程占用端口
Netid	State 	Recv-Q	Send-Q	      Local Address:Port	Peer Address:Port	Process                                                                                  
udp  	UNCONN	0     	0     	      127.0.0.53%lo:53  	     0.0.0.0:*   	 users:(("systemd-resolve",pid=809,fd=13))                                               
udp  	UNCONN	0     	0     	192.168.0.117%ens34:68  	     0.0.0.0:*   	 users:(("systemd-network",pid=807,fd=15))                                               
tcp  	LISTEN	0     	511   	            0.0.0.0:80  	     0.0.0.0:*   	 users:(("nginx",pid=19116,fd=6),("nginx",pid=19115,fd=6),("nginx",pid=18963,fd=6))      
tcp  	LISTEN	0     	128   	            0.0.0.0:22  	     0.0.0.0:*   	 users:(("sshd",pid=885,fd=3))                                                           
tcp  	LISTEN	0     	4096  	      127.0.0.53%lo:53  	     0.0.0.0:*   	 users:(("systemd-resolve",pid=809,fd=14))                                               
tcp  	LISTEN	0     	511   	               [::]:80  	        [::]:*   	 users:(("nginx",pid=19116,fd=7),("nginx",pid=19115,fd=7),("nginx",pid=18963,fd=7))      
tcp  	LISTEN	0     	128   	               [::]:22  	        [::]:*   	 users:(("sshd",pid=885,fd=4))

查看网络统计信息

root@master:~# ss -s
Total: 219
TCP:   7 (estab 2, closed 0, orphaned 0, timewait 0)Transport Total     IP        IPv6
RAW       1         0         1        
UDP       2         2         0        
TCP       7         5         2        
INET      10        7         3        
FRAG      0         0         0  
#说明:
#Total:套接字(Socket)数量,(包括 TCP/UDP/RAW 等所有类型)
#协议		总数	IPv4	IPv6		说明
#RAW		1	0		1		原始套接字(如 ping 使用的 ICMP)。
#UDP		2	2		0		UDP 连接(如 DNS 查询)。
#TCP		7	5		2		TCP 连接(如 HTTP/SSH)。
#INET		10	7		3		所有 IPv4+IPv6 的传输层连接总和。
#FRAG		0	0		0		IP 分片包(通常为 0)。

按条件过滤连接

ss -t src 192.168.1.100   # 查看来自本机 IP 的 TCP 连接
ss -t dst 8.8.8.8         # 查看目标为 8.8.8.8 的 TCP 连接
ss -t sport = :80         # 查看源端口为 80 的 TCP 连接
ss -t dport = :443        # 查看目标端口为 443 的 TCP 连接

6、curl

(1)、命令简介

curl 是一个强大的 命令行工具,用于传输数据(支持 HTTP、HTTPS、FTP、SFTP 等协议)。它常用于测试 API、下载文件、调试网络请求等场景。

(2)、命令选项清单

#命令语法:curl [选项] [URL]
#基础请求
选项					作用									示例
-X <METHOD>	指定 HTTP 方法(GET/POST/PUT/DELETE)	curl -X POST http://example.com
-I			仅显示响应头(HEAD 请求)				curl -I http://example.com
-i			显示响应头 + 响应体					curl -i http://example.com
-v			显示详细请求过程(调试用)				curl -v http://example.com
-L			自动跟随重定向						curl -L http://example.com
#数据交互
选项					作用							示例
-d <DATA>		  发送 POST 数据(表单/JSON)	curl -d "name=John" http://example.com
-H <HEADER>		  添加请求头					curl -H "Content-Type: application/json" http://example.com
-F <FIELD>=<FILE> 上传文件(表单)				curl -F "file=@test.jpg" http://example.com/upload
-G	将 -d 数据转为 URL 查询参数(GET)			curl -G -d "q=keyword" http://example.com/search
#下载与输出
选项								作用						示例
-o <FILE>				下载文件并重命名			curl -o output.txt http://example.com/file
-O						下载文件并使用远程文件名	curl -O http://example.com/file.txt
-C -					断点续传					curl -C - -O http://example.com/bigfile.zip
--limit-rate <SPEED>	限制下载速度				curl --limit-rate 100K -O http://example.com/file
(4) 认证与代理
选项					 作用					示例
-u <USER:PASS>		基本认证			curl -u admin:123456 http://example.com
--proxy <PROXY>		使用代理			curl --proxy http://proxy.example.com:8080 http://example.com

(3)、常用命令示例

常用场景

#发送请求
curl http://example.com #发送 GET 请求
curl -X POST -d "username=admin&password=123456" http://example.com/login #发送 POST 请求(表单数据)
curl -X POST -H "Content-Type: application/json" -d '{"name":"John","age":30}' http://example.com/api#发送 POST 请求(JSON 数据)
#下载文件
curl -O http://example.com/image.jpg       # 保存为 image.jpg
curl -o myfile.jpg http://example.com/image.jpg  # 自定义文件名
#调试 API(显示详细日志)
curl -v -X POST -H "Authorization: Bearer token123" -d '{"key":"value"}' http://example.com/api
#测试 HTTPS 证书
curl --cacert /path/to/ca.pem https://example.com
#保存 Cookie 并复用
curl -c cookies.txt http://example.com/login     # 保存 Cookie
curl -b cookies.txt http://example.com/dashboard  # 携带 Cookie

特殊用法

#批量下载文件
curl -O http://example.com/files/[1-10].jpg  # 下载 file1.jpg 到 file10.jpg
#上传文件( multipart/form-data)
curl -F "file=@/path/to/file.jpg" http://example.com/upload
#模拟浏览器请求
curl -A "Mozilla/5.0" http://example.com
#忽略 SSL 证书验证(测试用)
curl -k https://example.com
#测量请求时间
curl -w "Time: %{time_total}s\n" http://example.com

7、wget

(1)、命令简介

wget 是 Linux/Unix 系统中 非交互式下载文件 的经典命令行工具,支持 HTTP、HTTPS、FTP 协议,具有递归下载、断点续传、批量下载等强大功能,适合自动化脚本和后台任务。

(2)、命令选项清单

#命令语法:wget [选项] [URL]
#基础下载
选项						作用									示例
-O <文件名>			指定下载后的文件名			wget -O file.zip http://example.com/data.zip
-P <目录>			指定下载目录				wget -P /tmp http://example.com/file
-q					静默模式(不显示输出)		wget -q http://example.com
-v					显示详细日志				wget -v http://example.com
--limit-rate=<速度>	限速下载(如 500K 或 1M)	wget --limit-rate=1M http://example.com/bigfile.iso
#断点续传 & 后台下载
选项			作用									示例
-c		断点续传						wget -c http://example.com/bigfile.zip
-b		后台下载(日志写入 wget-log)	wget -b http://example.com/file
#递归下载(整站/目录)
选项				作用						示例
-r			递归下载				wget -r http://example.com
-l <深度>	限制递归深度			wget -r -l 2 http://example.com
-np			不追溯父目录			wget -r -np http://example.com/path/
-A <扩展名>	仅下载指定类型文件		wget -r -A ".jpg,.png" http://example.com
-R <扩展名>	排除指定类型文件		wget -r -R ".mp4" http://example.com
#认证 & 代理
选项						作用						示例
--user=<用户名>		FTP/HTTP 认证用户名	wget --user=admin http://example.com
--password=<密码>	FTP/HTTP 认证密码	wget --user=admin --password=123456 http://example.com
--proxy=<地址>		使用代理服务器		wget --proxy=http://10.0.0.1:8080 http://example.com
#其他实用选项
选项								作用					示例
-U <UA>					设置 User-Agent		wget -U "Mozilla/5.0" http://example.com
--tries=<次数>			设置重试次数			wget --tries=5 http://example.com
--no-check-certificate	忽略 SSL 证书验证		wget --no-check-certificate https://example.com
-S						显示服务器响应头		wget -S http://example.com

(3)、常用命令示例

wget http://example.com/file.zip #下载单个文件
wget -O backup.tar.gz http://example.com/data.tar.gz	#下载并重命名文件
wget -c http://example.com/bigfile.iso	#断点续传
wget -b http://example.com/large_file.mp4 #后台下载,查看后台下载日志tail -f wget-logwget -r -l 5 -np -k http://example.com #递归下载整个网站,-k:将链接转换为本地文件链接。wget -i files.txt #批量下载文件,files.txt内容为文件下载连接,一行放一个wget --limit-rate=500K http://example.com/ubuntu.iso #限速下载(避免占用带宽)wget --user=ftpuser --password=ftppass -r ftp://ftp.example.com/pub/ #下载 FTP 目录wget -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" http://example.com #伪装浏览器 User-Agentwget -O /dev/null http://example.com/bigfile.zip #测试下载速度
wget -qO- http://example.com/archive.tar.gz | tar xz #下载并自动解压
wget -mk -np -w 2 http://example.com #镜像网站(适合离线浏览)
#-m:镜像模式(等效于 -r -N -l inf)
#-k:转换链接为本地链接
#-w 2:每次请求间隔 2 秒

二、远程连接

**常用命令:**ssh、ftp、sftp、scp、rsync、telnet

1、ssh

(1)、命令简介

ssh(Secure Shell)是 Linux/Unix 系统中 安全远程登录加密文件传输 的标准工具,通过加密通道保护数据安全,替代不安全的 telnetrsh

(2)、命令选项清单

#命令语法:ssh [选项] [用户名@]主机名或IP [命令]
#选项								作用						示例
-p <端口>					指定 SSH 端口(默认 22)	ssh -p 2222 user@example.com
-i <私钥文件>				指定身份认证私钥			ssh -i ~/.ssh/id_rsa user@example.com
-X							启用 X11 转发(图形界面)	ssh -X user@example.com
-L <本地端口:目标主机:目标端口>	本地端口转发				ssh -L 8080:localhost:80 user@example.com
-R <远程端口:目标主机:目标端口>	远程端口转发				ssh -R 9000:localhost:3000 user@example.com
-D <本地端口>				动态端口转发(SOCKS 代理)	ssh -D 1080 user@example.com
-v							显示详细连接过程(调试用)	ssh -v user@example.com
-N						不执行远程命令(仅用于端口转发)	ssh -N -L 8080:localhost:80 user@example.com
-T							禁用伪终端分配			ssh -T user@example.com
-C							启用压缩(慢速网络适用)	ssh -C user@example.com

(3)、常用命令示例

基本远程登录

ssh root@192.168.0.117  #使用用户名@IP登录
ssh -p22 root@192.168.0.117 #指定ssh端口,使用用户名@IP登录
ssh root@example.com  #使用用户名@域名登录

使用密钥登录(配置免密)

root@master:~# ssh-keygen -t rsa -b 4096   #生成密钥对,默认保存到 ~/.ssh/id_rsa,后续输入回车默认即可
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:wwMj4hVrUCieQx2CFePnenWBSq9cnKDzpVquVl8zk8g root@master
The key's randomart image is:
+---[RSA 4096]----+
|.o*=+            |
|ooo+ o .         |
|o.+ O + .        |
| = O * = .       |
|  = o.B.S.       |
|   =.*E.*o       |
|  ..B. . +       |
|  .=  .          |
| .o..            |
+----[SHA256]-----+
root@master:~# ssh-copy-id kali@192.168.0.118 #拷贝密钥到远程主机
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.0.118 (192.168.0.118)' can't be established.
ED25519 key fingerprint is SHA256:l7lV8+H/YGmF4EIIpYQz1Z71bE+hR/SuaOQF+9WOyn0.
This host key is known by the following other names/addresses:~/.ssh/known_hosts:1: [hashed name]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes #第一次访问输入yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
kali@192.168.0.118's password: 
1
Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'kali@192.168.0.118'"
and check to make sure that only the key(s) you wanted were added.
root@master:~# ssh kali@192.168.0.118
kali@master:~$ ip -br addr
lo               UNKNOWN        127.0.0.1/8 ::1/128 
ens34            UP             192.168.0.118/24 metric 100 fe80::20c:29ff:fe1d:52c/64 
docker0          DOWN           172.17.0.1/16 

执行远程命令

root@master:~# ssh kali@192.168.0.118 "ip -br addr" # 远程执行命令后返回结果
lo               UNKNOWN        127.0.0.1/8 ::1/128 
ens34            UP             192.168.0.118/24 metric 100 fe80::20c:29ff:fe1d:52c/64 
docker0          DOWN           172.17.0.1/16   
root@master:~# ssh kali@192.168.0.118 'bash -s' < get_ip.sh # 执行本地脚本
lo               UNKNOWN        127.0.0.1/8 ::1/128 
ens34            UP             192.168.0.118/24 metric 100 fe80::20c:29ff:fe1d:52c/64 
docker0          DOWN           172.17.0.1/16   

端口转发

ssh -L 8080:localhost:80 user@example.com  #本地端口转发(访问远程服务)本地 8080 → 远程 80,访问 http://localhost:8080 即访问远程的 80 端口。
ssh -R 9000:localhost:3000 user@example.com  #远程端口转发(暴露本地服务到远程)远程 9000 → 本地 3000,远程服务器可通过 localhost:9000 访问你本地的 3000 端口。
ssh -D 1080 user@example.com  #动态端口转发(SOCKS 代理)本地 1080 端口为 SOCKS 代理,配置浏览器或 curl 使用 socks5://localhost:1080 代理。

配置文件优化

#编辑 ~/.ssh/config 可简化常用连接:
Host myserver #常用连接配置别名HostName example.com #常用连接地址User username	#常用连接用户名Port 2222	#常用连接端口IdentityFile ~/.ssh/id_rsa #连接公钥
ssh myserver #使用别名登录

安全优化

禁用密码登录(仅允许密钥):
# 在服务器上编辑 /etc/ssh/sshd_config
PasswordAuthentication no
然后重启服务:sudo systemctl restart sshd更改默认端口:Port 2222  # 在 /etc/ssh/sshd_config 中修改
限制登录用户:
AllowUsers username  # 在 /etc/ssh/sshd_config 中指定

2、ftp

(1)、命令简介

ftp 是用于在 客户端与服务器之间传输文件 的命令行工具,基于 FTP(File Transfer Protocol)协议。它支持上传、下载、目录管理等功能,适合在终端环境下操作。

(2)、命令选项清单

#命令语法:ftp [选项] [主机名或IP]
选项						说明
-4					强制使用 IPv4
-6					强制使用 IPv6
-A					使用主动模式(PORT)
-p					使用被动模式(PASV,默认)
-i					关闭交互式提示(适合脚本)
-n					禁止自动登录(需手动输入 user 和 pass)
-v					显示详细输出
-d					启用调试模式
-P PORT				指定 FTP 端口(默认 21)
-o OUTPUT			将服务器响应保存到文件
-T DIR,MAX[,INC]	设置传输超时(秒)
-x XFERSIZE			设置传输缓冲区大小

(3)、常用命令示例

连接 FTP 服务器

ftp ftp.example.com   # 连接服务器
ftp 192.168.1.100    # 使用 IP 连接
ftp -P port 192.168.1.100    # 指定端口使用 IP 连接

登录与退出

ftp> user username password  # 手动输入用户名密码
ftp> bye                    # 退出 FTP
ftp> quit                   # 同上
ftp> close                  # 断开连接但不退出 FTP

目录操作

ftp> ls                     # 列出远程目录
ftp> dir                    # 详细列出远程目录
ftp> cd /path               # 切换远程目录
ftp> lcd /local/path        # 切换本地目录
ftp> pwd                    # 显示远程当前目录
ftp> mkdir new_dir          # 创建远程目录
ftp> rmdir old_dir          # 删除远程目录
ftp> mget *.zip  			# 下载所有 .zip 文件
ftp> prompt off  			# 关闭交互确认(避免每次询问)

文件传输

ftp> get remote.txt         # 下载单个文件
ftp> get remote.txt local.txt  # 下载并重命名
ftp> mget *.txt            # 批量下载(如 *.txt)
ftp> put local.txt         # 上传单个文件
ftp> mput *.txt            # 批量上传
ftp> delete remote.txt     # 删除远程文件

传输模式设置

ftp> ascii    # 文本模式(默认,适合 .txt/.html)
ftp> binary   # 二进制模式(适合 .zip/.exe/.jpg)

其他实用命令

ftp> status      # 查看当前 FTP 连接状态
ftp> hash        # 显示传输进度(每 1024 字节打印 `#`)
ftp> prompt      # 关闭/开启交互提示(批量操作时有用)
ftp> !command    # 在本地执行 Shell 命令(如 `!ls`)

3、sftp

(1)、命令简介

sftp(SSH File Transfer Protocol)是基于 SSH 加密通道 的文件传输工具,比传统 ftp 更安全,适合在远程服务器和本地之间上传、下载和管理文件。

(2)、命令选项清单

#命令语法:sftp [选项] [用户名@]主机名或IP
选项							作用						示例
-P <端口>			指定 SSH 端口(默认 22)	sftp -P 2222 user@example.com
-i <私钥文件>		指定身份认证私钥	s		ftp -i ~/.ssh/id_rsa user@example.com
-r					递归传输目录				sftp -r user@example.com:/remote/dir
-v					显示详细连接过程(调试用)	sftp -v user@example.com

(3)、常用命令示例

连接 SFTP 服务器

sftp user@example.com       # 使用用户名登录
sftp -P 2222 user@192.168.1.100  # 指定非标准端口
sftp> bye                   #退出sftp 或 exit、quit 

文件传输

#下载文件
sftp> get remote.txt          # 下载单个文件
sftp> get remote.txt local.txt  # 下载并重命名
sftp> mget *.txt             # 批量下载(如 *.txt)
sftp> get -r /remote/dir      # 递归下载目录(需 SFTP 服务器支持)
#上传文件
sftp> put local.txt          # 上传单个文件
sftp> put local.txt remote.txt  # 上传并重命名
sftp> mput *.txt            # 批量上传
sftp> put -r /local/dir     # 递归上传目录
#使用命令行直接传输文件
sftp user@example.com:/remote/file.txt /local/path/	# 下载文件
sftp user@example.com <<< $'put /local/file.txt /remote/path/'	# 上传文件

目录管理

sftp> ls                    # 列出远程目录
sftp> lls                   # 列出本地目录
sftp> cd /remote/path       # 切换远程目录
sftp> lcd /local/path       # 切换本地目录
sftp> mkdir new_dir         # 创建远程目录
sftp> rmdir old_dir         # 删除远程空目录
sftp> pwd                   # 显示远程当前目录
sftp> lpwd                  # 显示本地当前目录

文件操作

sftp> rm file.txt           # 删除远程文件
sftp> rename old.txt new.txt  # 重命名远程文件
sftp> chmod 755 script.sh   # 修改远程文件权限
sftp> chown user:group file # 修改远程文件所有者(需 root)

4、scp

(1)、命令简介

scp(Secure Copy)是基于 SSH 加密通道 的文件传输工具,用于在本地和远程主机之间 安全复制文件或目录。它比传统 ftp 更安全,比 sftp 更高效,适合快速传输单个文件或批量同步。

(2)、命令选项清单

#命令语法:scp [选项] 源文件 目标路径
#选项				作用										示例
-P <端口>		指定 SSH 端口(默认 22)		scp -P 2222 file.txt user@example.com:/path
-i <私钥文件>	指定身份认证私钥				scp -i ~/.ssh/id_rsa file.txt user@example.com:/path
-r				递归复制目录					scp -r /local/dir user@example.com:/remote/path
-C				启用压缩(慢速网络适用)		scp -C largefile.tar.gz user@example.com:/backup
-v				显示详细传输过程(调试用)		scp -v file.txt user@example.com:/tmp
-l <带宽限制>	限速(单位 Kbit/s)			scp -l 1000 file.txt user@example.com:/path
-p				保留文件属性(修改时间、权限)	scp -p file.txt user@example.com:/path

(3)、常用命令示例

文件复制

#从本地复制到远程
scp file.txt user@example.com:/remote/path/	# 复制文件
scp file.txt user@example.com:/remote/path/new_name.txt	# 复制并重命名
scp -r /local/dir user@example.com:/remote/path/	# 复制目录(递归)
#从远程复制到本地
scp user@example.com:/remote/file.txt /local/path/	# 复制文件
scp -r user@example.com:/remote/dir /local/path/	# 复制目录(递归)
#在两台远程主机之间复制
scp user1@host1:/path/to/file user2@host2:/path/to/dest #数据会在本地主机中转

5、rsync

(1)、命令简介

rsync 是 Linux/Unix 系统中 高效文件同步工具,支持增量备份、断点续传、压缩传输,比 scpsftp 更强大,适合大规模数据同步和备份。

(2)、命令选项清单

#命令语法:rsync [选项] 源路径 目标路径
#选项				作用						示例
-a			归档模式(保留权限、时间戳等)	rsync -a /src/ /dest/
-v			显示详细传输过程				rsync -av /src/ /dest/
-z			启用压缩传输(节省带宽)		rsync -az /src/ user@host:/dest/
-r			递归同步目录					rsync -r /src/ /dest/
-P			显示进度 + 断点续传			rsync -aP /src/ /dest/
-n			模拟运行(不实际传输)			rsync -anv /src/ /dest/
-e			指定远程 Shell(如 ssh)		rsync -e "ssh -p 2222" /src/ user@host:/dest/
--delete	删除目标端多余文件(完全同步)	rsync -a --delete /src/ /dest/
--exclude	排除指定文件/目录				rsync -a --exclude="*.tmp" /src/ /dest/
--bwlimit	限速(单位 KB/s)				rsync -a --bwlimit=1000 /src/ /dest/

(3)、常用命令示例

数据同步

#本地同步
rsync -av /path/to/src/ /path/to/dest/	# 同步目录(保留文件属性)
rsync -a --delete /src/ /dest/	# 删除目标端多余文件(强制完全同步)
#远程同步(通过 SSH)
rsync -avz /local/path/ user@example.com:/remote/path/	# 本地 → 远程
rsync -avz user@example.com:/remote/path/ /local/path/	# 远程 → 本地
rsync -avz -e "ssh -p 2222" /src/ user@host:/dest/	# 指定 SSH 端口
#增量备份
rsync -a --backup --backup-dir=/backup/old /src/ /dest/	# 同步到备份目录(保留历史版本)
#排除文件
rsync -a --exclude="*.tmp" --exclude="*.log" /src/ /dest/	# 排除临时文件和日志
rsync -a --exclude-from=exclude.txt /src/ /dest/ #从文件读取排除规则,exclude.txt内容示例:*.tmp\n*.log
#限速传输
rsync -a --bwlimit=1000 /src/ user@host:/dest/  # 限速 1000 KB/s
#断点续传
rsync -aP /src/ user@host:/dest/ #-P = --partial --progress(保留部分文件 + 显示进度)。
#同步权限和所有者(需 root)
sudo rsync -a --no-o --no-g /src/ /dest/  # 不同步所有者和组
sudo rsync -a /src/ /dest/                # 同步所有者和组(需权限)
#对比源和目标差异
rsync -avn --delete /src/ /dest/  # 模拟运行,显示差异
#定时自动同步(结合 crontab)
0 3 * * * rsync -a /src/ user@host:/dest/ # 每天凌晨 3 点同步

6、telnet

(1)、命令简介

telnet 是一个早期的 网络协议和命令行工具,用于通过 明文 远程登录到其他主机或测试网络服务的连通性。由于安全性问题(数据传输未加密),现代系统已逐渐用 SSH 替代 telnet,但它仍可用于调试基础网络服务(如 HTTP、SMTP 等)。

#安装操作:
Linux(Debian/Ubuntu)
:sudo apt install telnet
Linux(CentOS/RHEL)
:sudo yum install telnet
Windows
:默认已安装,可通过命令提示符直接使用:telnet example.com 80

(2)、命令选项清单

#命令语法:telnet [选项] [主机名或IP] [端口]
#选项			作用					示例
-l <用户名>	指定登录用户名		telnet -l user example.com
-p <端口>	指定端口(默认 23)	telnet example.com 80
-4			强制使用 IPv4		telnet -4 example.com
-6			强制使用 IPv6		telnet -6 example.com

(3)、常用命令示例

#远程登录(不推荐,明文传输)
telnet example.com     # 默认使用端口 23
telnet 192.168.1.100   # 通过 IP 连接#测试网络服务连通性
telnet example.com 80   # 测试 HTTP 服务
telnet example.com 25   # 测试 SMTP 服务
telnet example.com 22   # 测试 SSH 服务(通常返回协议信息)
#测试成功返回如下信息
root@master:~# telnet 192.168.0.105 22
Trying 192.168.0.105...
Connected to 192.168.0.105.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.4
#按 Ctrl + ] 后输入 quit 退出。#手动发送协议命令
telnet example.com 80
GET / HTTP/1.1
Host: example.com#退出 telnet
交互模式下:输入 Ctrl + ],然后输入 quit。
直接退出:若连接失败,按 Ctrl + C 终止。
http://www.xdnf.cn/news/16991.html

相关文章:

  • TorchDynamo源码解析:从字节码拦截到性能优化的设计与实践
  • 复合机器人抓取精度怎么测量?
  • 8.4 打卡 DAY 33: 第一个神经网络 - MLP的构建与训练
  • usr/bin/ld链接报错undefined reference `av_frame_free(AVFrame**)‘等ffmpeg库报错
  • VAE学习笔记
  • Visual Studio Code的下载,安装
  • 机器学习(11):岭回归Ridge
  • iOS混淆工具有哪些?功能测试与质量保障兼顾的混淆策略
  • OpenLayers 入门指南【五】:Map 容器
  • C语言的数组与字符串
  • 力扣热题100——双指针
  • Hadoop MapReduce 3.3.4 讲解~
  • SpringBoot自动装配原理
  • 36.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--缓存Token
  • 编程算法:技术创新与业务增长的核心驱动力
  • IDA9.1使用技巧(安装、中文字符串显示、IDA MCP服务器详细部署和MCP API函数修改开发经验)
  • 电商直播流量爆发式增长,华为云分布式流量治理与算力调度服务的应用场景剖析
  • 构建属于自己的第一个 MCP 服务器:初学者教程
  • 从零认识OpenFlow
  • 学习游戏制作记录(角色属性和状态脚本)8.4
  • 【Linux指南】软件安装全解析:从源码到包管理器的进阶之路
  • AI鉴伪技术鉴赏:“看不见”的伪造痕迹如何被AI识破
  • Java项目:基于SSM框架实现的电子病历管理系统【ssm+B/S架构+源码+数据库+毕业论文+远程部署】
  • Git如何同步本地与远程仓库并解决冲突
  • 【iOS】渲染原理离屏渲染
  • 打造个人数字图书馆:LeaNote+cpolar如何成为你的私有化知识中枢?
  • 时序数据库如何高效处理海量数据
  • Spring P1 | 创建你的第一个Spring MVC项目(IDEA图文详解版,社区版专业版都有~)
  • 【数据库】使用Sql Server创建索引优化查询速度,一般2万多数据后,通过非索引时间字段排序查询出现超时情况
  • Anthropic 禁止 OpenAI 访问 Claude API:商业竞争与行业规范的冲突