资讯动态

网络安全排查命令手册:从系统信息到日志分析

发布时间:2026/10/20 14:39:06 来源:尧图企业网站定制
1. 先搞清楚一个问题学命令到底是为了什么很多零基础的朋友一看到黑客两个字脑子里全是电影里那种炫酷的黑屏绿字感觉敲几行命令就能掌控一切。我做了这么多年安全相关工作实话讲这种印象害了不少人。真正从事安全工作的工程师每天敲得最多的命令其实跟运维、开发、系统管理员手里的工具高度重合——无非是看系统状态、查网络连接、翻日志文件、核对进程列表。差别不在命令本身而在你看这些信息时的思路。所以这篇手册的定位不是教你怎么攻击别人而是带着防御和审计的视角把黑客、安全工程师、运维工程师日常都会频繁使用的命令梳理一遍。说白了你把自己当成一台机器的体检医生命令就是你的听诊器、血压计和化验单。理解了这些命令能干什么、输出结果怎么读你对安全两个字的理解会上一个台阶而不是停留在电影特效里。这篇内容适合谁零基础想入门网络安全的朋友、刚接手服务器运维的开发者、以及日常需要排查电脑卡顿或奇怪弹窗的普通用户。每种命令我都给了 Windows 和 Linux 两个平台各自的写法尽量做到打开终端就能跟着敲、跟着看。遇到专业术语我会用大白话解释确保你看得懂、用得起来。2. 系统信息收集命令先知道机器是什么底子排查任何安全问题之前第一件事永远是认清你自己面对的是什么机器。系统版本、主机名、当前用户、开机时间、装了什么补丁这些都是最基础也最关键的现场信息。黑客拿到权限后第一时间会收集这些防御方做应急响应也同样要从这些入手。2.1 Windows 下的普查三件套Windows 里最常用的三个命令是systeminfo、whoami和net user。systeminfo一条命令就把操作系统版本、主机名、网卡配置、已安装的补丁编号全部列出来信息量非常大。实际使用的时候建议加一个输出重定向把结果存成文件慢慢看systeminfo sysinfo.txtwhoami看起来简单但用途比很多人想象的重要。它会告诉你当前账号的完整用户名和所在域还能通过/priv参数列出当前账号拥有的权限比如是否允许调试进程、是否允许关闭系统这类敏感权限。排查时如果发现一个普通用户可以调试系统进程这本身就是风险信号。net user和net localgroup是查看账号体系的老牌命令。前者列出所有本地账号后者列出本地用户组及成员。应急排查时我最常做的一件事就是快速过一遍net user的输出看有没有名字奇怪、创建时间可疑的多余账号。曾经就有一次同事在服务器上发现一个名叫support的隐藏账号就是通过这条命令抓出来的。2.2 Linux 下的信息收集命令Linux 这边对应的命令更灵活也更程序员友好。uname -a查看内核版本cat /etc/os-release查看发行版信息id查看当前用户 ID 和所属组hostname查看主机名。这几个命令单独看都没什么但组合起来就是一张标准的机器身份证。uname -a cat /etc/os-release id hostname还有个命令值得特别提一下last。它读取登录日志列出所有用户的登录记录包括登录时间、来源 IP、登录时长。应急排查时我第一眼就会看有没有凌晨三四点来自陌生 IP 的登录记录。另一个是w显示当前谁在线、在跑什么命令配合排查内鬼或失陷主机时非常实用。2.3 为什么说信息收集是安全工作的地基没有信息收集后面所有排查都是瞎猜。比如你发现一台机器网络流量异常如果不知道系统装了什么服务、开放了哪些端口、打了哪些补丁你根本没法判断异常流量是正常的业务流量还是外传数据。所以建议刚入门的朋友养成一个习惯给每台机器建立档案把系统版本、内核、账号列表、开放端口、计划任务这些信息定期归档。一旦出了事这份档案就是你对比正常基线的依据。很多安全团队在做的所谓基线核查本质上就是把信息收集命令的输出标准化、定期化。3. 网络状态排查命令摸清这台机器在和谁说话几乎所有的入侵行为都会涉及网络通信——不管是下载恶意程序、外传数据还是接受远程控制指令。所以网络相关的命令是安全排查中出镜率最高的。你不需要精通 TCP/IP 协议栈的每个细节但一定要会看连接状态知道每条连接大概意味着什么。3.1 连通性测试ping 和 tracertping应该是大众认知度最高的一条命令了。它的原理是发送 ICMP 回显请求用来确认目标主机是否在线、网络延迟多大。排查网络不通时它是最快的定位工具先 ping 网关再 ping 公网地址一步步缩小故障范围。ping 目标IP地址 ping -c 4 目标域名Windows 默认 ping 4次自动结束Linux 会一直 ping 下去所以 Linux 下加个-c参数限制次数更实用。tracertLinux 下叫traceroute则更进阶一些它会打印从你的机器到目标之间的每一跳路由节点能帮你定位网络在哪个环节出现了延迟或丢包。排查跨地域访问慢的问题时traceroute的价值无可替代。3.2 连接状态大杀器netstatnetstat是我个人使用频率最高的命令没有之一。它的核心作用是列出当前所有的网络连接、监听端口和路由信息。排查恶意软件时你会看到一堆陌生的外联连接这就是在找机器在和谁偷偷通信的证据。# Windows 下显示所有连接和监听端口并显示进程ID netstat -anob # 配合 findstr 筛选特定状态 netstat -ano | findstr ESTABLISHED # Linux 下显示所有连接和程序名 netstat -antup # Linux 下只显示监听端口 netstat -antlp | grep LISTEN需要注意Windows 的-o参数会显示每个连接对应的进程 PID配合任务管理器就能定位到具体是哪个程序发起的连接。这个组合拳在排查木马回连时非常好用。我自己有一个习惯每台服务器上线时先跑一遍netstat -ano记录下正常端口列表日常巡检时对比差异新增的监听端口往往就是问题的信号。3.3 域名解析检查nslookup 和 dig很多恶意程序会用域名而不是 IP 地址来隐藏真实服务器所以查看域名解析记录也是排查的一部分。nslookup在 Windows 和 Linux 上都有用来查询域名对应的 IP 地址。Linux 下功能更强大的替代品是dig它能显示更详细的 DNS 响应信息包括用了哪个 DNS 服务器、返回了哪些记录、TTL 值是多少。nslookup example.com dig example.com这里我想多说一句安全排查里的冷知识当恶意程序使用域名通信时域名解析本身可能就是一个外泄信号。比如一台内网服务器突然持续解析某个稀奇古怪的域名在 netstat 里看不到活跃连接但 DNS 查询记录异常频繁这本身就是值得警惕的行为模式。你现在不需要理解太深只要记住网络排查不只是看连接也要看解析这个思路就行。3.4 抓包工具的启蒙tcpdump 和 Wireshark命令行的终极大招是抓包。Linux 下的tcpdump可以直接在网卡上抓取流量Windows 下大家更熟悉的是 Wireshark 的图形界面。抓包能回答一个终极问题通信内容到底是什么。前面的 netstat 告诉你有连接抓包告诉你这个连接在传什么。# 抓取特定端口的流量并保存到文件 tcpdump -i eth0 port 80 -w http.pcap # 抓取特定主机的流量不保存文件直接打印摘要 tcpdump -i eth0 host 192.168.1.100初学阶段不建议一上来就去读抓包文件里的十六进制内容打击自信心。可以先会用tcpdump把流量抓下来再用 Wireshark 图形化分析。工具不重要重要的是养成看到异常连接就想抓包看看的敏感度。4. 进程与服务排查命令揪出藏在机器里的可疑程序如果说网络命令回答的是机器在和谁说话那进程与服务排查回答的就是谁在背着你干活。恶意程序为了维持存在感通常都会以进程或服务的形式驻留。学会看进程列表是每个安全从业者的基本功。4.1 Windows 下的进程排查流程tasklist是 Windows 下查看进程列表的基本命令加上/svc参数能看到每个进程承载的服务/v参数能看更详细的信息包括内存占用、会话名。查看某个进程的详细信息用wmic process where processid...系列命令。tasklist /svc wmic process get name,executablepath,processid,commandline这里有个非常实用的排查套路先用wmic process get列出所有进程的执行路径和命令行参数然后重点筛查执行路径位于临时目录如C:\Users\用户名\AppData\Local\Temp或者名称伪装成系统进程但路径不对的进程。命令行参数里有 powershell 的下载指令、rundll32 加奇怪的 DLL 文件、或者 wscript 跑脚本这些都需要重点留意。如果你在进程列表里看到一个名字叫svchost.exe的进程觉得可疑先别急着下结论。用下面的命令查一下这个进程对应哪些服务以及它的执行路径是不是在系统目录里。正常情况下系统服务宿主进程的路径应该在C:\Windows\System32如果在别的地方出现同名进程那就很有问题了。tasklist /svc /fi imagename eq svchost.exe4.2 Linux 下的进程排查命令Linux 这边首推ps和top。ps aux是所有用户进程的完整快照top是动态刷新版的任务管理器按键shift m可以按内存排序shift p按 CPU 排序。ps aux ps aux --sort-pcpu | head -10 # 查看端口对应的进程 lsof -i :80排查 Linux 主机时我通常会做三件事。第一看 CPU 占用前几名的进程正常业务你大概知道应该在什么水位突然冒出来的高占用进程往往有问题。第二用lsof反向查——netstat 里看到可疑端口就用lsof -i :端口号找到对应进程。第三检查进程的工作目录/proc/进程PID/cwd恶意程序经常会从临时目录或上传目录启动工作目录本身就是线索。4.3 服务与计划任务持久化手段的藏身处恶意程序要想长期存活有两个常见的持久化手段值得每个人了解注册到服务里或者写进计划任务。Windows 下用sc query列出所有服务schtasks /query查看计划任务。Linux 下用systemctl list-units查看服务单元crontab -l查看当前用户的计划任务systemctl list-timers查看定时器。这个环节在排查时特别容易被忽略因为服务名和任务名有时候看起来很正常比如Windows Update的变体、Adobe Flash Update之类。建议的做法是把所有服务启动方式和计划任务导出来保存和基线比对。安全工作的本质就是找不同而基线找得越细致找不同的效率就越高。5. 日志分析命令从机器留下的痕迹还原真相真到了出安全事件的时候日志就是你唯一的良师益友。系统日志、安全日志、应用日志每一条记录都可能是拼图的一小块。日志分析命令本身不复杂难点在于知道去哪找日志、找什么关键词。5.1 事件日志Windows 取证的第一站Windows 的系统诊断和审计信息都记录在事件日志里最常见的有 System系统日志、Security安全日志、Application应用日志。PowerShell 里用Get-WinEvent查询命令行里用wevtutil# 查看最近50条安全日志 Get-WinEvent -LogName Security -MaxEvents 50 # 查询指定时间段的登录失败记录 Get-WinEvent -FilterHashtable {LogNameSecurity; Id4625; StartTime(Get-Date).AddDays(-7)} | Select TimeCreated, Message登录相关的安全事件 ID 值得记一下4624 是成功登录4625 是登录失败4720 是用户账号被创建。一条4720 4624的组合出现在凌晨基本可以断定有账号被非正常添加并使用了。Windows 安全日志是很多人忽略的金矿其实学会看这个比看一百篇抽象的理论分析都管用。5.2 Linux 日志体系一切皆文件Linux 的日志大都在/var/log目录下最常看的是syslog或messages、auth.log或secure、lastlog、btmp和wtmp。查看方式非常简单粗暴就是tail、grep# 查看最近的系统日志 tail -100 /var/log/syslog # 搜索 ssh 登录相关的日志 grep sshd /var/log/auth.log # 查看失败登录记录 grep Failed password /var/log/auth.log # journald 系系统的查看方式 journalctl -u sshd --since 1 hour ago我看到太多新手纠结用grep还是journalctl其实核心是把时间线和关键词结合起来。举一个实际例子如果你要排查某台机器是不是被爆破登录过直接grep Failed password /var/log/auth.log | wc -l看失败次数再grep Accepted /var/log/auth.log | awk {print $9} | sort | uniq -c看成功登录的来源 IP 分布。两分钟就能对账号安全问题有个基本判断。5.3 历史命令机器上的人做了什么history命令可以查看当前用户执行过的历史命令。这条命令看起来简单但在内网排查时价值很高——它直接告诉你这台机器上发生过什么操作。Linux 的history会存在用户目录的.bash_history文件里Windows 的 PowerShell 历史则可以通过Get-History查看或者直接查 PSReadLine 的历史文件。不过这里要提醒一句恶意程序或者经验老道的操作者会主动清除历史记录所以history只能作为参考不能作为唯一证据。我看到空的历史记录文件时反而会提高警惕——正常使用的机器历史文件不可能一片空白事出反常必有妖。6. 文件与权限排查命令守住数据资产的大门安全事件最终都要落到数据上——被偷走的是数据被改坏的是数据勒索软件加密的也是数据。所以文件搜索和权限检查也是安全排查中不可或缺的一环。6.1 找文件find、grep 和 Windows 的对应命令Linux 下find是查找文件的王者命令grep是搜索文件内容的利器。配合使用可以快速定位可疑文件# 查找最近一天内被修改的 PHP 文件 find /var/www -name *.php -mtime -1 # 在 find 结果里搜索 eval 等危险函数 find /var/www -name *.php -exec grep -l eval {} \;这里说个背景知识PHP 网站被入侵后最常见的植入方式是往目录里塞一个包含eval、system、assert等危险函数的后门文件。用上面这条命令搜索文件内容往往能很快找到被埋的钉子。这套思路也适用于其他语言环境比如搜 JSP 里的Runtime.getRuntime搜 Python 里的exec。Windows 下没有find和grep那么顺手的组合不过可以用 PowerShell 实现类似效果# 查找最近一天内修改的 exe 文件 Get-ChildItem C:\ -Recurse -Filter *.exe | Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-1)}6.2 权限检查ls -l 和 icacls文件权限是安全里最容易出问题的地方。Linux 下看权限用ls -l修改权限用chmod修改属主用chown。很多 Web 服务器出问题就是因为目录权限给了 777任何人都能读写执行后门文件自然可以随处写。ls -l /etc/shadow find / -perm -002 -type f 2/dev/nullWindows 下用icacls查看和修改权限。排查时重点看有没有 Everyone 或 Users 组对敏感目录有完全控制权。经常有安全新闻里说某企业数据库备份文件被拖走查下来往往是备份目录把权限给大放——icacls一眼就能扫出这种问题。6.3 常用端口检查的补充一条命令看全服务全状态排查完文件权限建议顺手看一眼开放端口和对应进程的完整对应关系。Windows 下可以这样一次拿全netstat -ano | findstr LISTENING然后在任务管理器或 PowerShell 里根据 PID 找进程名。Linux 下一条ss -antlp比 netstat 的输出更清晰信息量也更丰富。ss是新一代的 socket 统计工具输出格式很接近 netstat 但速度快很多。建议 Linux 用户直接习惯用ss老牌命令知道就行。7. 新手最容易踩的坑经验与避坑实录写到这里把新手在实战中最容易踩的坑集中整理一下。这些坑我大多亲自踩过写出来帮大家省时间。7.1 权限不够导致的排查盲区很多命令需要管理员权限才能看到完整信息。netstat -ano用普通用户跑某些进程信息会显示不出来Get-WinEvent读安全日志也要求管理员权限Linux 下cat /etc/shadow就更不用说了。所以排查前先把终端以管理员身份运行Windows或者用sudoLinux不然很容易得出错误的结论——比如明明机上有恶意连接但你看到的信息不完整直接忽略了。7.2 命令不存在怎么办Windows 命令一般不会缺但 Linux 发行版之间差异很大。比如netstat在最小化安装的发行版上可能没有需要安装net-tools包lsof也需要单独安装。遇到command not found不要慌用系统自带的包管理器装一下就行。更省心的做法是优先使用发行版自带的替代品比如用ss替代netstat用journalctl替代直接读日志文件。7.3 信息过载时怎么聚焦第一次跑systeminfo或者ps aux的时候面对几百行输出完全不知道看什么这是正常的。我的建议是给自己列一个重点关注清单进程名称异常的、网络连接状态是 ESTABLISHED 但目的端口不常见的、登录记录里出现陌生 IP 的、临时目录下最近修改过的可执行文件的。先按清单筛选再逐步深入比漫无目的地翻输出高效得多。7.4 实操练习的安全姿势练习命令时强烈建议在虚拟机或者自己买的云服务器上进行不要拿公司的生产环境练手。安装一个 Windows 虚拟机和一个 Linux 发行版把这篇手册里的命令挨个敲一遍观察每条命令的输出。只有亲手跑过、踩过坑看到输出才知道怎么看。推荐一个练习路径先在自己的电脑上跑信息收集类命令然后装个开源靶场环境练日志分析和网络排查最后尝试用命令完成一次完整的应急响应模拟——从发现异常连接、定位进程、查看日志到清理回收走完一个闭环。7.5 别把工具当盾牌也别把命令当武器最后说点掏心窝的话。命令就是工具和螺丝刀、扳手没什么本质区别。把这篇手册里的命令背得滚瓜烂熟不代表你就拥有了什么黑客能力更不代表你可以随便拿别人的机器练手。任何未经授权的扫描、探测、访问不管目的是什么在多数司法管辖区都属于违法行为。真正的安全能力是理解了系统的运行规律之后能守住自己的机器、能替别人排查问题、能在事故发生时冷静地用命令还原真相。这个方向越深入你越会发现安全世界里最有价值的不是攻击技巧而是审慎和专业的态度。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑