【操作系统安全】任务4:Windows 系统网络安全实践里常用 DOS 命令
目录
一、引言
二、网络信息收集类命令
2.1 ipconfig 命令
2.1.1 功能概述
2.1.2 实例与代码
2.2 ping 命令
2.2.1 功能概述
2.2.2 实例与代码
2.3 tracert 命令
2.3.1 功能概述
2.3.2 实例与代码
三、网络连接与端口管理类命令
3.1 netstat 命令
3.1.1 功能概述
3.1.2 实例与代码
3.2 nbtstat 命令
3.2.1 功能概述
3.2.2 实例与代码
3.3 arp 命令
3.3.1 功能概述
3.3.2 实例与代码
3.4 netsh 命令
3.4.1 功能概述
3.4.2 实例与代码
3.5 netstat 高级用法
3.5.1 分析端口占用
3.5.2 流量监控
3.6 端口扫描工具集成
3.6.1 使用 nmap 进行端口扫描(需自行安装)
3.6.2 批处理脚本实现简易端口扫描
四、系统服务与进程管理类命令
4.1 net 命令
4.1.1 功能概述
4.1.2 实例与代码
4.2 tasklist 命令
4.2.1 功能概述
4.2.2 实例与代码
4.3 taskkill 命令
4.3.1 功能概述
4.3.2 实例与代码
五、文件与目录操作类命令
5.1 dir 命令
5.1.1 功能概述
5.1.2 实例与代码
5.2 copy 命令
5.2.1 功能概述
5.2.2 实例与代码
5.3 del 命令
5.3.1 功能概述
5.3.2 实例与代码
六、注册表操作类命令
6.1 reg query 命令
6.1.1 功能概述
6.1.2 实例与代码
6.2 reg add 命令
6.1.1 功能概述
6.1.2 实例与代码
6.3 reg delete 命令
6.3.1 功能概述
6.3.2 实例与代码
七、总结
CSDN 原创主页:不羁https://blog.csdn.net/2303_76492156?type=blog
一、引言
在网络安全领域,Windows 系统中的 DOS 命令是基础且强大的工具。它们能帮助安全人员进行网络信息收集、系统状态监测、安全漏洞排查等工作。通过熟练运用这些命令,可有效增强系统的安全性与稳定性。本文将详细介绍 Windows 系统在网络安全实际应用中常用的 DOS 命令,结合实例和命令代码展开深入讲解。
二、网络信息收集类命令
2.1 ipconfig 命令
2.1.1 功能概述
ipconfig
命令主要用于显示当前 TCP/IP 网络配置信息,包含 IP 地址、子网掩码、默认网关等。它是了解计算机网络设置的基础命令。
2.1.2 实例与代码
- 显示基本网络配置:在命令提示符中输入
ipconfig
,可显示当前网络连接的基本信息,如 IPv4 地址、子网掩码和默认网关。
C:\Users\YourUsername>ipconfig
Windows IP Configuration
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . :
IPv4 Address. . . . . . . . . . . : 192.168.1.100
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
- 显示完整网络配置:输入
ipconfig /all
,能获取更详细的网络信息,包括物理地址(MAC 地址)、DHCP 服务器地址、DNS 服务器地址等。
C:\Users\YourUsername>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : YourComputerName
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Physical Address. . . . . . . . . : 00-11-22-33-44-55
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.1.100(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Monday, March 17, 2025 10:00:00 AM
Lease Expires . . . . . . . . . . : Tuesday, March 18, 2025 10:00:00 AM
Default Gateway . . . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . . . : 192.168.1.254
DNS Servers . . . . . . . . . . . : 8.8.8.8
8.8.4.4
NetBIOS over Tcpip. . . . . . . . : Enabled
- 刷新和释放 IP 地址:当网络连接出现问题时,可使用
ipconfig /renew
刷新 DHCP 分配的 IP 地址,使用ipconfig /release
释放当前 IP 地址。
C:\Users\YourUsername>ipconfig /release
C:\Users\YourUsername>ipconfig /renew
2.2 ping 命令
2.2.1 功能概述
ping
命令用于测试与目标主机之间的网络连通性。它通过向目标主机发送 ICMP(Internet Control Message Protocol)回显请求数据包,并等待目标主机返回 ICMP 回显应答数据包来判断网络是否正常。
2.2.2 实例与代码
- 基本 ping 测试:在命令提示符中输入
ping 目标主机 IP 地址或域名
,例如ping www.baidu.com
,可测试与百度服务器的网络连通性。
C:\Users\YourUsername>ping www.baidu.com
Pinging www.a.shifen.com [180.101.49.12] with 32 bytes of data:
Reply from 180.101.49.12: bytes=32 time=10ms TTL=55
Reply from 180.101.49.12: bytes=32 time=11ms TTL=55
Reply from 180.101.49.12: bytes=32 time=10ms TTL=55
Reply from 180.101.49.12: bytes=32 time=11ms TTL=55
Ping statistics for 180.101.49.12:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 11ms, Average = 10ms
- 指定数据包数量和大小:使用
-n
参数指定发送的数据包数量,使用-l
参数指定数据包的大小。例如,ping -n 10 -l 1024 www.baidu.com
表示向百度服务器发送 10 个大小为 1024 字节的数据包。
C:\Users\YourUsername>ping -n 10 -l 1024 www.baidu.com
Pinging www.a.shifen.com [180.101.49.12] with 1024 bytes of data:
Reply from 180.101.49.12: bytes=1024 time=15ms TTL=55
Reply from 180.101.49.12: bytes=1024 time=16ms TTL=55
...
Ping statistics for 180.101.49.12:
Packets: Sent = 10, Received = 10, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 15ms, Maximum = 16ms, Average = 15ms
2.3 tracert 命令
2.3.1 功能概述
tracert
命令用于跟踪数据包从源主机到目标主机所经过的路由路径。它通过发送一系列具有不同 TTL(Time To Live)值的 UDP 数据包,根据每个路由器返回的 ICMP 超时消息来确定数据包经过的路由器地址。
2.3.2 实例与代码
- 基本路由跟踪:在命令提示符中输入
tracert 目标主机 IP 地址或域名
,例如tracert www.google.com
,可跟踪到 Google 服务器的路由路径。
C:\Users\YourUsername>tracert www.google.com
Tracing route to www.google.com [142.250.186.174]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.1.1
2 2 ms 2 ms 2 ms 10.0.0.1
3 3 ms 3 ms 3 ms 202.96.134.133
4 4 ms 4 ms 4 ms 202.96.128.62
5 5 ms 5 ms 5 ms 202.96.128.58
6 6 ms 6 ms 6 ms 202.96.128.17
7 7 ms 7 ms 7 ms 202.96.128.13
8 8 ms 8 ms 8 ms 202.96.128.9
9 9 ms 9 ms 9 ms 202.96.128.5
10 10 ms 10 ms 10 ms 202.96.128.1
11 11 ms 11 ms 11 ms 202.96.128.2
12 12 ms 12 ms 12 ms 202.96.128.3
13 13 ms 13 ms 13 ms 202.96.128.4
14 14 ms 14 ms 14 ms 202.96.128.6
15 15 ms 15 ms 15 ms 202.96.128.7
16 16 ms 16 ms 16 ms 202.96.128.8
17 17 ms 17 ms 17 ms 202.96.128.10
18 18 ms 18 ms 18 ms 202.96.128.11
19 19 ms 19 ms 19 ms 202.96.128.12
20 20 ms 20 ms 20 ms 202.96.128.14
21 21 ms 21 ms 21 ms 202.96.128.15
22 22 ms 22 ms 22 ms 202.96.128.16
23 23 ms 23 ms 23 ms 202.96.128.18
24 24 ms 24 ms 24 ms 202.96.128.19
25 25 ms 25 ms 25 ms 202.96.128.20
26 26 ms 26 ms 26 ms 202.96.128.21
27 27 ms 27 ms 27 ms 202.96.128.22
28 28 ms 28 ms 28 ms 202.96.128.23
29 29 ms 29 ms 29 ms 202.96.128.24
30 30 ms 30 ms 30 ms 142.250.186.174
Trace complete.
- 禁止域名解析:使用
-d
参数可以禁止域名解析,直接以数字形式显示路由器地址,加快命令执行速度。例如,tracert -d www.google.com
。
C:\Users\YourUsername>tracert -d www.google.com
Tracing route to 142.250.186.174
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.1.1
2 2 ms 2 ms 2 ms 10.0.0.1
3 3 ms 3 ms 3 ms 202.96.134.133
...
Trace complete.
三、网络连接与端口管理类命令
3.1 netstat 命令
3.1.1 功能概述
netstat
命令用于显示网络连接、路由表和网络接口等信息。它可以帮助用户了解计算机当前的网络连接状态,包括哪些端口正在监听、哪些连接已经建立等。
3.1.2 实例与代码
- 显示所有活动的 TCP 连接:在命令提示符中输入
netstat -an | find "ESTABLISHED"
,可显示所有已经建立的 TCP 连接。
C:\Users\YourUsername>netstat -an | find "ESTABLISHED"
TCP 192.168.1.100:50000 142.250.186.174:443 ESTABLISHED
TCP 192.168.1.100:50001 180.101.49.12:80 ESTABLISHED
- 显示所有监听的 TCP 端口:输入
netstat -an | find "LISTENING"
,可显示所有正在监听的 TCP 端口。
C:\Users\YourUsername>netstat -an | find "LISTENING"
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING
- 持续显示网络连接信息:使用
-c
参数可以指定命令每隔一定时间重复执行一次,持续显示网络连接信息。例如,netstat -c 5
表示每隔 5 秒更新一次网络连接信息。
C:\Users\YourUsername>netstat -c 5
3.2 nbtstat 命令
3.2.1 功能概述
nbtstat
命令用于显示 NetBIOS 协议的统计信息,包括本地计算机的 NetBIOS 名称、远程计算机的 NetBIOS 名称表、NetBIOS 会话等。
3.2.2 实例与代码
- 显示本地计算机的 NetBIOS 名称表:在命令提示符中输入
nbtstat -n
,可显示本地计算机注册的 NetBIOS 名称及其状态。
C:\Users\YourUsername>nbtstat -n
Local Area Connection:
Node IpAddress: [192.168.1.100] Scope Id: []
NetBIOS Local Name Table
Name Type Status
---------------------------------------------
YOURCOMPUTER <00> UNIQUE Registered
WORKGROUP <00> GROUP Registered
YOURCOMPUTER <20> UNIQUE Registered
- 显示远程计算机的 NetBIOS 名称表:输入
nbtstat -A 远程计算机 IP 地址
,例如nbtstat -A 192.168.1.101
,可获取指定远程计算机的 NetBIOS 名称表。
C:\Users\YourUsername>nbtstat -A 192.168.1.101
Local Area Connection:
Node IpAddress: [192.168.1.100] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
REMOTECOMPUT <00> UNIQUE Registered
WORKGROUP <00> GROUP Registered
REMOTECOMPUT <20> UNIQUE Registered
MAC Address = 00-11-22-33-44-66
- 显示 NetBIOS 会话统计信息:使用
nbtstat -s
命令可显示本地计算机的 NetBIOS 会话统计信息,包括会话的建立时间、断开时间、发送和接收的字节数等。
C:\Users\YourUsername>nbtstat -s
NetBIOS Session Statistics
Peer Name Dedicated In/Out Packets Bytes
----------------------------------------------
192.168.1.101 No 10/10 1000 50000
192.168.1.102 No 5/5 500 25000
3.3 arp 命令
3.3.1 功能概述
arp
命令用于显示和修改地址解析协议(ARP)缓存表。ARP 缓存表记录了 IP 地址和 MAC 地址之间的映射关系。在网络安全中,ARP 欺骗是一种常见的攻击手段,攻击者通过伪造 ARP 响应包,将自己的 MAC 地址与目标 IP 地址绑定,从而实现中间人攻击、窃取数据等目的。通过 arp
命令,我们可以查看和管理 ARP 缓存表,检测是否存在 ARP 欺骗攻击,并采取相应的防范措施。
3.3.2 实例与代码
- 显示当前的 ARP 缓存表:
- 在命令提示符中输入
arp -a
,可以显示当前计算机的 ARP 缓存表,包括所有已解析的 IP 地址和对应的 MAC 地址。
- 在命令提示符中输入
C:\Users\YourUsername>arp -a
Interface: 192.168.1.100 --- 0x3
Internet Address Physical Address Type
192.168.1.1 00-11-22-33-44-55 dynamic
192.168.1.101 00-AA-BB-CC-DD-EE dynamic
- 通过查看 ARP 缓存表,我们可以发现是否存在异常的映射关系。例如,如果同一个 IP 地址对应多个不同的 MAC 地址,或者某个 MAC 地址频繁出现在不同的 IP 地址映射中,可能存在 ARP 欺骗攻击的迹象。
- 删除指定的 ARP 缓存项:
- 当怀疑某个 ARP 缓存项被篡改时,可以使用
arp -d
命令删除指定 IP 地址的 ARP 缓存项。例如,要删除 IP 地址为 192.168.1.101 的 ARP 缓存项,输入arp -d 192.168.1.101
。
- 当怀疑某个 ARP 缓存项被篡改时,可以使用
C:\Users\YourUsername>arp -d 192.168.1.101
ARP 项已删除。
- 删除缓存项后,系统会在下次需要与该 IP 地址通信时,重新发送 ARP 请求,获取正确的 MAC 地址。
- 添加静态 ARP 映射:
- 为了防止 ARP 欺骗攻击,可以使用
arp -s
命令添加静态 ARP 映射,将特定的 IP 地址与 MAC 地址绑定。例如,将 IP 地址 192.168.1.1 与 MAC 地址 00-11-22-33-44-55 绑定,输入arp -s 192.168.1.1 00-11-22-33-44-55
。
- 为了防止 ARP 欺骗攻击,可以使用
C:\Users\YourUsername>arp -s 192.168.1.1 00-11-22-33-44-55
ARP 项已添加。
- 添加静态 ARP 映射后,系统在与该 IP 地址通信时,会直接使用绑定的 MAC 地址,而不会再根据 ARP 响应更新缓存。
- 持续监控 ARP 缓存表变化:
- 可以编写一个简单的批处理脚本,定期检查 ARP 缓存表的变化,以检测是否存在 ARP 欺骗攻击。以下是一个示例脚本:
@echo off
:loop
cls
arp -a > arp_cache.txt
timeout /t 5 >nul
arp -a > arp_cache_new.txt
fc arp_cache.txt arp_cache_new.txt > diff.txt
findstr /c:"动态" diff.txt
if %errorlevel% equ 0 (
echo 检测到 ARP 缓存表有变化,可能存在 ARP 欺骗攻击!
)
del arp_cache.txt arp_cache_new.txt diff.txt
goto loop
- 该脚本会每 5 秒检查一次 ARP 缓存表的变化,如果发现有动态条目发生变化,会输出提示信息。
- 批量添加静态 ARP 映射:
- 如果需要批量添加静态 ARP 映射,可以编写一个批处理脚本来实现。以下是一个示例脚本:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2" %%a in (arp_list.txt) do (
arp -s %%a %%b
if %errorlevel% equ 0 (
echo 成功添加 ARP 映射:%%a - %%b
) else (
echo 添加 ARP 映射失败:%%a - %%b
)
)
endlocal
- 其中,
arp_list.txt
是一个文本文件,每行包含一个 IP 地址和对应的 MAC 地址,用空格分隔。例如:
192.168.1.1 00-11-22-33-44-55
192.168.1.101 00-AA-BB-CC-DD-EE
- 运行该脚本后,会依次读取
arp_list.txt
中的每一行,添加相应的静态 ARP 映射,并输出添加结果。
通过以上实例可以看出,arp
命令在网络安全中具有重要的作用,可以帮助我们检测和防范 ARP 欺骗攻击,保障网络的正常运行。
3.4 netsh 命令
3.4.1 功能概述
netsh
是 Windows 系统中功能强大的网络配置命令行工具,可用于管理网络接口、防火墙、路由表、NAT 等网络组件。在网络安全领域,常用于查看和修改网络配置、监控网络状态、排查网络故障等。
3.4.2 实例与代码
- 查看防火墙规则:
C:\Users\YourUsername>netsh advfirewall firewall show rule name=all
该命令会显示所有防火墙规则,包括入站和出站规则,帮助管理员了解系统的访问控制策略。
- 配置端口映射(NAT):
C:\Users\YourUsername>netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=192.168.1.100
将本地 8080 端口映射到内网服务器 192.168.1.100 的 80 端口,常用于远程访问或服务转发。
- 导出网络配置:
C:\Users\YourUsername>netsh dump > network_config.txt
将当前网络配置保存到 network_config.txt
文件,便于后续恢复或分析。
3.5 netstat 高级用法
3.5.1 分析端口占用
- 查看特定端口的进程:
C:\Users\YourUsername>netstat -ano | findstr :80
显示所有占用 80 端口的连接及其进程 ID(PID)。
- 关联进程名称:
C:\Users\YourUsername>tasklist /fi "PID eq 4"
通过 tasklist
命令查询 PID 对应的进程名称,判断是否为恶意进程。
3.5.2 流量监控
- 实时监控 TCP 连接变化:
C:\Users\YourUsername>netstat -p tcp -b -o 5
每 5 秒显示一次 TCP 连接状态,并显示进程名称和 PID。
3.6 端口扫描工具集成
3.6.1 使用 nmap 进行端口扫描(需自行安装)
C:\Users\YourUsername>nmap -p 1-1000 -sV 192.168.1.100
扫描目标主机的 1-1000 端口,并尝试识别服务版本,发现潜在漏洞。
3.6.2 批处理脚本实现简易端口扫描
@echo off
for /L %%i in (1,1,100) do (
start /min cmd /c "echo open 192.168.1.100 %%i | telnet 192.168.1.100 %%i >nul 2>&1 & if not errorlevel 1 echo Port %%i is open"
)
pause
通过循环调用 telnet 命令扫描目标主机的 1-100 端口,显示开放的端口。
四、系统服务与进程管理类命令
4.1 net 命令
4.1.1 功能概述
net
命令是一个功能丰富的网络管理命令,可用于管理网络连接、服务、用户账户等。在网络安全场景中,它能帮助管理员对系统的服务和用户进行有效管控。
4.1.2 实例与代码
- 启动和停止服务:使用
net start
和net stop
可以启动和停止系统服务。例如,要启动 “Print Spooler” 服务,可在命令提示符中输入net start spooler
;若要停止该服务,则输入net stop spooler
。
C:\Users\YourUsername>net start spooler
The Print Spooler service was started successfully.
C:\Users\YourUsername>net stop spooler
The Print Spooler service was stopped successfully.
- 创建和删除用户账户:
net user
命令可用于创建、删除和管理用户账户。创建一个名为 “testuser” 的用户账户,密码为 “password”,可使用net user testuser password /add
;若要删除该用户账户,输入net user testuser /delete
。
C:\Users\YourUsername>net user testuser password /add
The command completed successfully.
C:\Users\YourUsername>net user testuser /delete
The command completed successfully.
- 查看网络共享资源:使用
net view
命令可以查看网络中的共享资源。例如,查看当前局域网内的共享计算机,输入net view
。
C:\Users\YourUsername>net view
Server Name Remark
-------------------------------------------------------------------------------
\\SERVER1
\\SERVER2
The command completed successfully.
4.2 tasklist 命令
4.2.1 功能概述
tasklist
命令用于显示当前正在运行的进程列表,包括进程的名称、PID(进程标识符)、内存使用情况等信息。通过分析进程列表,可发现异常进程,判断系统是否受到恶意软件的攻击。
4.2.2 实例与代码
- 显示所有进程:在命令提示符中输入
tasklist
,可显示当前系统中所有正在运行的进程。
C:\Users\YourUsername>tasklist
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 8 K
System 4 Services 0 2,008 K
smss.exe 280 Services 0 1,100 K
csrss.exe 396 Console 1 4,304 K
wininit.exe 408 Services 0 3,212 K
csrss.exe 420 Console 0 4,568 K
services.exe 464 Services 0 6,200 K
lsass.exe 472 Services 0 10,184 K
svchost.exe 584 Services 0 4,040 K
...
- 筛选特定进程:使用
/fi
参数可以根据指定条件筛选进程。例如,要显示所有映像名称为 “notepad.exe” 的进程,输入tasklist /fi "imagename eq notepad.exe"
。
C:\Users\YourUsername>tasklist /fi "imagename eq notepad.exe"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
notepad.exe 1234 Console 1 2,560 K
- 以 CSV 格式输出进程信息:使用
/fo csv
参数可以将进程信息以 CSV 格式输出,方便后续数据处理。例如,tasklist /fo csv
。
C:\Users\YourUsername>tasklist /fo csv
"Image Name","PID","Session Name","Session#","Mem Usage"
"System Idle Process","0","Services","0","8 K"
"System","4","Services","0","2,008 K"
"smss.exe","280","Services","0","1,100 K"
...
4.3 taskkill 命令
4.3.1 功能概述
taskkill
命令用于终止指定的进程。当发现某个进程异常占用系统资源或存在安全风险时,可使用该命令强制终止进程。
4.3.2 实例与代码
- 根据 PID 终止进程:使用
/pid
参数指定要终止的进程的 PID。例如,要终止 PID 为 1234 的进程,输入taskkill /pid 1234
。若进程无法正常终止,可添加/f
参数进行强制终止,即taskkill /pid 1234 /f
。
C:\Users\YourUsername>taskkill /pid 1234
SUCCESS: The process with PID 1234 has been terminated.
C:\Users\YourUsername>taskkill /pid 1234 /f
SUCCESS: The process with PID 1234 has been terminated forcefully.
- 根据映像名称终止进程:使用
/im
参数指定要终止的进程的映像名称。例如,要终止所有映像名称为 “notepad.exe” 的进程,输入taskkill /im notepad.exe
;若需要强制终止,添加/f
参数,即taskkill /im notepad.exe /f
。
C:\Users\YourUsername>taskkill /im notepad.exe
SUCCESS: Sent termination signal to the process "notepad.exe" with PID 1234.
C:\Users\YourUsername>taskkill /im notepad.exe /f
SUCCESS: The process "notepad.exe" with PID 1234 has been terminated forcefully.
五、文件与目录操作类命令
5.1 dir 命令
5.1.1 功能概述
dir
命令用于显示指定目录下的文件和子目录列表。在网络安全中,可通过查看文件和目录信息,发现异常文件或隐藏的恶意程序。
5.1.2 实例与代码
- 显示当前目录下的文件和目录:在命令提示符中输入
dir
,可显示当前目录下的所有文件和子目录的基本信息,包括名称、大小、创建日期和时间等。
C:\Users\YourUsername>dir
Volume in drive C has no label.
Volume Serial Number is 1234-5678
Directory of C:\Users\YourUsername
03/17/2025 10:00 AM <DIR> .
03/17/2025 10:00 AM <DIR> ..
03/17/2025 09:00 AM 1,024 file1.txt
03/17/2025 09:30 AM 2,048 file2.txt
2 File(s) 3,072 bytes
2 Dir(s) 100,000,000 bytes free
- 显示指定目录下的文件和目录:在
dir
后面加上目录路径,可显示指定目录下的文件和目录信息。例如,dir C:\Program Files
。
C:\Users\YourUsername>dir C:\Program Files
Volume in drive C has no label.
Volume Serial Number is 1234-5678
Directory of C:\Program Files
03/17/2025 11:00 AM <DIR> .
03/17/2025 11:00 AM <DIR> ..
03/17/2025 10:30 AM <DIR> Adobe
03/17/2025 10:45 AM <DIR> Microsoft Office
0 File(s) 0 bytes
4 Dir(s) 100,000,000 bytes free
- 显示隐藏文件和系统文件:使用
/a
参数可以显示具有特定属性的文件和目录。例如,dir /a:h /a:s
可显示隐藏文件和系统文件。
C:\Users\YourUsername>dir /a:h /a:s
Volume in drive C has no label.
Volume Serial Number is 1234-5678
Directory of C:\Users\YourUsername
03/17/2025 08:00 AM <HIDDEN> .cache
03/17/2025 08:30 AM <SYSTEM> pagefile.sys
2 File(s) 5,120 bytes
0 Dir(s) 100,000,000 bytes free
5.2 copy 命令
5.2.1 功能概述
copy
命令用于复制文件或目录。在网络安全中,有时需要备份重要文件或复制文件进行分析。
5.2.2 实例与代码
- 复制单个文件:在命令提示符中输入
copy 源文件路径 目标文件路径
,例如copy C:\Users\YourUsername\file1.txt C:\Backup\
,可将file1.txt
文件复制到C:\Backup
目录下。
C:\Users\YourUsername>copy C:\Users\YourUsername\file1.txt C:\Backup\
1 file(s) copied.
- 复制多个文件:使用通配符可以复制多个文件。例如,
copy C:\Users\YourUsername\*.txt C:\Backup\
可将C:\Users\YourUsername
目录下所有扩展名为.txt
的文件复制到C:\Backup
目录下。
C:\Users\YourUsername>copy C:\Users\YourUsername\*.txt C:\Backup\
2 file(s) copied.
- 复制目录及其内容:虽然
copy
命令不能直接复制目录,但可以使用xcopy
命令。例如,xcopy C:\Users\YourUsername\Documents C:\Backup\Documents /s /e
可将C:\Users\YourUsername\Documents
目录及其所有子目录和文件复制到C:\Backup\Documents
目录下。
C:\Users\YourUsername>xcopy C:\Users\YourUsername\Documents C:\Backup\Documents /s /e
C:\Users\YourUsername\Documents\file1.txt
1 File(s) copied
5.3 del 命令
5.3.1 功能概述
del
命令用于删除文件。在清理系统垃圾文件或删除恶意文件时会用到该命令。
5.3.2 实例与代码
- 删除单个文件:在命令提示符中输入
del 文件名
,例如del C:\Users\YourUsername\file1.txt
,可删除指定的文件。
C:\Users\YourUsername>del C:\Users\YourUsername\file1.txt
- 删除多个文件:使用通配符可以删除多个文件。例如,
del C:\Users\YourUsername\*.tmp
可删除C:\Users\YourUsername
目录下所有扩展名为.tmp
的文件。
C:\Users\YourUsername>del C:\Users\YourUsername\*.tmp
- 强制删除只读文件:使用
/f
参数可以强制删除只读文件。例如,del /f C:\Users\YourUsername\readonly.txt
。
C:\Users\YourUsername>del /f C:\Users\YourUsername\readonly.txt
六、注册表操作类命令
6.1 reg query 命令
6.1.1 功能概述
reg query
命令用于查询注册表中的键值信息。注册表存储了系统和应用程序的配置信息,通过查询注册表可以发现系统的一些关键设置和潜在的安全问题。
6.1.2 实例与代码
- 查询指定注册表项的所有子项和值:在命令提示符中输入
reg query 注册表项路径
,例如reg query HKLM\Software\Microsoft\Windows\CurrentVersion
,可查询指定注册表项的所有子项和值。
C:\Users\YourUsername>reg query HKLM\Software\Microsoft\Windows\CurrentVersion
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
ProgramFilesDir REG_SZ C:\Program Files
CommonFilesDir REG_SZ C:\Program Files\Common Files
...
- 查询指定注册表项的特定值:使用
/v
参数指定要查询的值的名称。例如,reg query HKLM\Software\Microsoft\Windows\CurrentVersion /v ProductName
可查询ProductName
的值。
C:\Users\YourUsername>reg query HKLM\Software\Microsoft\Windows\CurrentVersion /v ProductName
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
ProductName REG_SZ Windows 10 Pro
- 递归查询注册表项及其子项:使用
/s
参数可以递归查询指定注册表项及其所有子项的信息。例如,reg query HKLM\Software\Microsoft\Windows\CurrentVersion /s
。
C:\Users\YourUsername>reg query HKLM\Software\Microsoft\Windows\CurrentVersion /s
...
6.2 reg add 命令
6.1.1 功能概述
reg add
命令用于向注册表中添加新的键值或修改现有键值。在某些安全设置或系统配置调整时会用到该命令。
6.1.2 实例与代码
- 添加新的注册表项:在命令提示符中输入
reg add 注册表项路径 /v 键名 /t 数据类型 /d 键值
,例如reg add HKLM\Software\MyApp /v Version /t REG_SZ /d 1.0
,可在指定注册表项中添加一个新的键值。
C:\Users\YourUsername>reg add HKLM\Software\MyApp /v Version /t REG_SZ /d 1.0
The operation completed successfully.
- 修改现有注册表项的值:如果要修改已存在的键值,同样使用
reg add
命令,直接覆盖原有的值。例如,reg add HKLM\Software\MyApp /v Version /t REG_SZ /d 1.1
。
C:\Users\YourUsername>reg add HKLM\Software\MyApp /v Version /t REG_SZ /d 1.1
The operation completed successfully.
6.3 reg delete 命令
6.3.1 功能概述
reg delete
命令用于删除注册表中的键值或整个注册表项。当需要清理无用的注册表信息或修复注册表问题时会用到该命令。
6.3.2 实例与代码
- 删除指定注册表项的值:在命令提示符中输入
reg delete 注册表项路径 /v 键名
,例如reg delete HKLM\Software\MyApp /v Version
,可删除指定注册表项中的特定键值。
C:\Users\YourUsername>reg delete HKLM\Software\MyApp /v Version
The operation completed successfully.
- 删除整个注册表项:使用
/f
参数可以强制删除,不进行确认提示。例如,reg delete HKLM\Software\MyApp /f
可删除整个MyApp
注册表项。
C:\Users\YourUsername>reg delete HKLM\Software\MyApp /f
The operation completed successfully.
七、总结
本文详细介绍了 Windows 系统在网络安全实际应用中常用的 DOS 命令,包括网络信息收集、网络连接与端口管理、系统服务与进程管理、文件与目录操作以及注册表操作等方面的命令。这些命令是网络安全工作中的基础工具,通过熟练掌握和运用这些命令,安全人员可以更高效地进行网络安全监测、故障排查和系统维护等工作,从而保障系统的安全性和稳定性。同时,在使用这些命令时,要谨慎操作,避免误删或修改重要的系统信息。
E N D