网络命令
概述
Windows提供了丰富的网络诊断和配置命令,用于测试网络连接、配置网络参数、诊断网络问题等。
网络配置
ipconfig - IP配置信息
ipconfig命令
显示当前TCP/IP网络配置值,可用于刷新DHCP和DNS设置。
语法:
| Text Only |
|---|
| ipconfig [/allcompartments] [/all] [/renew [adapter]] [/release [adapter]] [/renew6 [adapter]] [/release6 [adapter]] [/flushdns] [/displaydns] [/registerdns] [/showclassid adapter] [/setclassid adapter [classID]]
|
常用选项:
| 选项 |
说明 |
/all |
显示完整配置信息 |
/release |
释放DHCP租约 |
/renew |
更新DHCP租约 |
/flushdns |
清除DNS解析缓存 |
/displaydns |
显示DNS解析缓存内容 |
/registerdns |
刷新所有DHCP租约并重新注册DNS |
示例:
| Text Only |
|---|
| ipconfig # 基本配置信息
ipconfig /all # 完整配置信息
ipconfig /release # 释放IP地址
ipconfig /renew # 重新获取IP地址
ipconfig /flushdns # 清除DNS缓存
ipconfig /displaydns # 显示DNS缓存
ipconfig /all | findstr "IPv4" # 只显示IPv4地址
|
netsh - 网络配置工具
netsh命令
网络外壳命令行工具,用于配置网络接口、防火墙等。
常用上下文:
- interface:网络接口配置
- advfirewall:高级防火墙
- wlan:无线网络
- ip:IP配置
示例:
| Text Only |
|---|
| netsh interface show interface # 显示网络接口
netsh interface ip show address # 显示IP地址
netsh interface ip set address "以太网" static 192.168.1.100 255.255.255.0 # 设置静态IP
netsh interface ip set dns "以太网" static 8.8.8.8 # 设置DNS
netsh wlan show profiles # 显示无线网络配置
netsh wlan connect name="WiFi名称" # 连接WiFi
netsh advfirewall show allprofiles # 显示防火墙配置
netsh advfirewall set allprofiles state off # 关闭防火墙
|
网络诊断
ping - 网络连通性测试
ping命令
通过发送ICMP回显请求测试与目标主机的连通性。
语法:
| Text Only |
|---|
| ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] [-R] [-S srcaddr] [-c compartment] [-p] [-4] [-6] target_name
|
常用选项:
| 选项 |
说明 |
-t |
持续ping,直到按Ctrl+C停止 |
-n count |
发送count个请求 |
-l size |
发送缓冲区大小 |
-f |
设置不分段标志 |
-i TTL |
设置生存时间 |
-w timeout |
等待超时时间(毫秒) |
-a |
将地址解析为主机名 |
-4 |
强制使用IPv4 |
-6 |
强制使用IPv6 |
示例:
| Text Only |
|---|
| ping www.baidu.com # 测试连通性
ping -t 192.168.1.1 # 持续ping
ping -n 10 www.baidu.com # 发送10个请求
ping -l 1000 192.168.1.1 # 发送1000字节
ping -w 5000 www.baidu.com # 超时时间5秒
ping -a 192.168.1.1 # 解析主机名
|
常见状态:
- Reply from:正常响应
- Request timed out:请求超时
- Destination host unreachable:目标主机不可达
tracert - 路由跟踪
语法:
| Text Only |
|---|
| tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name
|
选项:
- -d:不将地址解析为名称
- -h maximum_hops:最大跃点数
- -w timeout:等待超时时间
示例:
| Text Only |
|---|
| tracert www.baidu.com # 跟踪路由
tracert -d www.baidu.com # 不解析名称
tracert -h 20 www.baidu.com # 最多20跳
|
pathping - 路径ping
语法:
| Text Only |
|---|
| pathping [-n] [-h maximum_hops] [-g host-list] [-p period] [-q num_queries] [-w timeout] [-i IPAddress] [-4] [-6] target_name
|
示例:
| Text Only |
|---|
| pathping www.baidu.com # 结合ping和tracert
|
网络状态
netstat - 网络连接统计
netstat命令
显示协议统计信息和当前TCP/IP网络连接。
语法:
| Text Only |
|---|
| netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [-x] [-y] [interval]
|
常用选项:
| 选项 |
说明 |
-a |
显示所有连接和监听端口 |
-b |
显示创建连接的可执行文件 |
-e |
显示以太网统计信息 |
-n |
以数字形式显示地址和端口 |
-o |
显示与每个连接关联的进程ID |
-p proto |
显示指定协议的连接 |
-r |
显示路由表 |
-s |
显示按协议统计的信息 |
示例:
| Text Only |
|---|
| netstat # 显示活动连接
netstat -a # 所有连接
netstat -an # 数字形式显示
netstat -ano # 显示进程ID
netstat -an | findstr :80 # 查看80端口连接
netstat -an | findstr ESTABLISHED # 已建立的连接
netstat -p tcp # TCP连接
netstat -s # 协议统计
netstat -r # 路由表
|
arp - ARP缓存
语法:
| Text Only |
|---|
| arp -a [inet_addr] [-N if_addr]
arp -d inet_addr [if_addr]
arp -s inet_addr eth_addr [if_addr]
|
示例:
| Text Only |
|---|
| arp -a # 显示ARP缓存
arp -a 192.168.1.1 # 指定IP的ARP
arp -d 192.168.1.1 # 删除ARP条目
|
route - 路由表
语法:
| Text Only |
|---|
| route [-f] [-p] [-4|-6] command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]
|
命令:
- print:打印路由表
- add:添加路由
- delete:删除路由
- change:修改路由
示例:
| Text Only |
|---|
| route print # 显示路由表
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 # 添加默认网关
route delete 0.0.0.0 # 删除路由
|
DNS工具
nslookup - DNS查询
语法:
| Text Only |
|---|
| nslookup [-option] [hostname] [server]
|
示例:
| Text Only |
|---|
| nslookup www.baidu.com # 查询域名
nslookup -qt=mx baidu.com # 查询MX记录
nslookup -qt=ns baidu.com # 查询NS记录
nslookup 192.168.1.1 # 反向查询
nslookup www.baidu.com 8.8.8.8 # 使用指定DNS服务器
|
交互模式:
| Text Only |
|---|
| nslookup
> server 8.8.8.8 # 设置DNS服务器
> set type=mx # 设置查询类型
> baidu.com # 查询
> exit # 退出
|
网络连接测试
telnet - 测试端口连通性
telnet命令
需要先启用Telnet客户端功能。
启用Telnet:
| Text Only |
|---|
| dism /online /Enable-Feature /FeatureName:TelnetClient
|
示例:
| Text Only |
|---|
| telnet www.baidu.com 80 # 测试80端口
telnet 192.168.1.1 22 # 测试SSH端口
|
Test-NetConnection (PowerShell)
示例:
| PowerShell |
|---|
| Test-NetConnection -ComputerName www.baidu.com -Port 80 # 测试端口
Test-NetConnection -ComputerName 192.168.1.1 # 测试连通性
|
其他网络命令
hostname - 主机名
示例:
getmac - MAC地址
语法:
| Text Only |
|---|
| getmac [/s computer] [/u domain\user [/p password]] [/fo format] [/nh] [/v]
|
示例:
| Text Only |
|---|
| getmac # 显示MAC地址
getmac /v # 详细信息
getmac /fo csv # CSV格式
|
nbtstat - NetBIOS统计
示例:
| Text Only |
|---|
| nbtstat -n # 本地NetBIOS名称
nbtstat -a <IP> # 远程NetBIOS名称
|
实用场景
检查网络连通性
| Text Only |
|---|
| ping 127.0.0.1 # 检查TCP/IP协议栈
ping 192.168.1.1 # 检查网关
ping 8.8.8.8 # 检查外网
ping www.baidu.com # 检查DNS解析
|
查找占用端口的进程
| Text Only |
|---|
| netstat -ano | findstr :8080 # 查找占用8080端口的进程
tasklist | findstr <PID> # 根据PID查看进程
|
检查DNS解析
| Text Only |
|---|
| nslookup www.baidu.com # 正常解析
nslookup www.baidu.com 8.8.8.8 # 使用Google DNS
ipconfig /flushdns # 清除DNS缓存
|
网络诊断流程
| Text Only |
|---|
| # 1. 检查本机配置
ipconfig /all
# 2. 测试本地环回
ping 127.0.0.1
# 3. 测试网关
ping 192.168.1.1
# 4. 测试外网IP
ping 8.8.8.8
# 5. 测试DNS
ping www.baidu.com
# 6. 跟踪路由
tracert www.baidu.com
|
参考资料