# 通用-服务发现与软件排查命令单

> 跨平台中间件与服务发现通用命令单（三级等保现场测评取证）：dpkg -l 与 rpm -qa 按 nginx/apache/tomcat/redis-server/mongod/postgresql/mysql/mariadb/memcached/rabbitmq-server 关键字排查已安装软件（覆盖 Debian/Ubuntu/UOS 与 RPM/RHEL/CentOS/openEuler 两类发行版），systemctl list-units --type=service --state=running 与 service --status-all 服务状态发现，ps -ef 运行进程发现，netstat -tulnp、ss -tulpn 与 lsof -i 端口发现，find /etc 与 ls /var/log 配置与日志目录发现，并给出 java -jar、WebLogic、nginx master process 等进程识别提示。

---

LLMS index: [llms.txt](/wikis/llms.txt)

---

> 定位：三级等保现场测评取证命令单，按功能小节组织核查命令、预期现象与判定要点。

## Debian / Ubuntu / UOS 中间件发现

- 对应控制点：GB/T 22239-2019 8.1.4.4 入侵防范 a)（遵循最小安装原则，仅安装需要的组件和应用程序）。
- 判定要点：仅安装业务必需组件、无来历不明软件包判"符合"；存在用途不明或确认多余的组件判"部分符合/不符合"；未部署相关组件判"不适用"。
- 取证要求：留存 dpkg -l 过滤结果截图与软件包清单，对可疑包记录包名、版本、安装时间及用途说明。

```bash
dpkg -l | grep -iE 'nginx|apache|tomcat|redis-server|mongod|postgresql|mysql|mariadb|memcached|mongodb-server|rabbitmq-server'
```
- 预期现象：安装对应组件时应输出软件包名、版本、架构等信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">ii  nginx              1.18.0-6ubuntu14.4   amd64        small, powerful, scalable web/proxy server
</span></span><span class="line"><span class="cl">ii  redis-server       5:6.0.16-1ubuntu1.2  amd64        persistent key-value database with network interface
</span></span><span class="line"><span class="cl">ii  mysql-server-core-8.0                   8.0.33-0ubuntu0.22.04.2 amd64 MySQL database core server files
</span></span></code></pre></div>
</details>



## RPM / RHEL / CentOS / openEuler 中间件发现

- 对应控制点：GB/T 22239-2019 8.1.4.4 入侵防范 a)（最小安装，仅安装需要的组件和应用程序）。
- 判定要点：仅安装业务必需组件、无来历不明软件包判"符合"；存在用途不明或确认多余的组件判"部分符合/不符合"；未部署相关组件判"不适用"。
- 取证要求：留存 rpm -qa 过滤结果截图与软件包清单，对可疑包记录包名、版本、安装时间及用途说明。

```bash
rpm -qa | grep -iE 'nginx|apache|tomcat|redis-server|mongod|postgresql|mysql|mariadb|memcached|mongodb-server|rabbitmq-server'
```
- 预期现象：安装对应组件时应输出软件包名和版本。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">nginx-1.20.1-10.el8.x86_64
</span></span><span class="line"><span class="cl">redis-6.2.7-1.el8.x86_64
</span></span><span class="line"><span class="cl">postgresql-server-13.11-1.module_el8.x86_64
</span></span></code></pre></div>
</details>



## 服务状态发现

- 对应控制点：GB/T 22239-2019 8.1.4.4 入侵防范 b)（关闭不需要的系统服务）。
- 判定要点：运行中服务均有明确业务用途或运维必需判"符合"；存在无人认领、业务无关的自启/运行服务判"部分符合/不符合"。
- 取证要求：留存服务列表截图，记录服务名、运行状态与自启状态，对多余服务给出关闭建议。
- 注意：systemd 系发行版（RHEL/CentOS 7+、Debian 8+、Ubuntu 16.04+ 等）用 systemctl；RHEL/CentOS 6 等 SysV 旧系统用 service、chkconfig --list。

```bash
systemctl list-units --type=service --state=running
```
- 预期现象：systemd 系统应列出当前加载且处于 running 状态的 service 单元。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">UNIT                     LOAD   ACTIVE SUB     DESCRIPTION
</span></span><span class="line"><span class="cl">nginx.service            loaded active running A high performance web server and reverse proxy
</span></span><span class="line"><span class="cl">redis-server.service     loaded active running Advanced key-value store
</span></span><span class="line"><span class="cl">postgresql.service       loaded active running PostgreSQL RDBMS
</span></span></code></pre></div>
</details>


```bash
service --status-all
```
- 预期现象：按字母序列出已知 SysV 服务并以 [+]（运行）/ [-]（停止）/ [?]（无 status 子命令）标注；systemd 系统上该命令仅覆盖 SysV 兼容脚本（同名 systemd 单元优先），完整清单以 systemctl 为准。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl"> [ + ]  nginx
</span></span><span class="line"><span class="cl"> [ + ]  redis-server
</span></span><span class="line"><span class="cl"> [ - ]  postgresql
</span></span><span class="line"><span class="cl"> [ ? ]  hwclock.sh
</span></span></code></pre></div>
</details>



## 运行进程发现

- 对应控制点：GB/T 22239-2019 8.1.4.4 入侵防范 b)（关闭不需要的系统服务）。
- 判定要点：运行的进程均与业务或运维相关且责任明确判"符合"；存在来历不明、长期无人认领的进程判"部分符合/不符合"。
- 取证要求：留存 ps -ef 输出截图（含 PID、启动用户、启动时间、完整命令行），可疑进程进一步核对其二进制路径。

```bash
ps -ef | grep -iE 'nginx|apache|tomcat|redis-server|mongod|postgresql|mysql|mariadb|memcached|mongodb-server|rabbitmq-server|weblogic' | grep -v grep
```
- 预期现象：运行对应中间件时应显示相关进程（末尾 grep -v grep 用于排除 grep 自身进程行）。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">root      1123     1  0 Aug20 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
</span></span><span class="line"><span class="cl">www-data  1124  1123  0 Aug20 ?        00:00:02 nginx: worker process
</span></span><span class="line"><span class="cl">redis     1456     1  0 Aug20 ?        00:01:10 /usr/bin/redis-server 127.0.0.1:6379
</span></span><span class="line"><span class="cl">postgres  1789     1  0 Aug20 ?        00:00:05 /usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main
</span></span></code></pre></div>
</details>


```bash
ps -ef | grep -iE 'nginx|apache|tomcat|java|redis|rabbitmq|kafka' | grep -v grep
```
- 预期现象：运行相关组件时应显示对应进程。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">tomcat    2044     1  1 Aug20 ?        00:03:22 /usr/bin/java -Dcatalina.home=/opt/tomcat ... org.apache.catalina.startup.Bootstrap start
</span></span><span class="line"><span class="cl">rabbitmq  2301     1  0 Aug20 ?        00:01:45 /usr/lib/erlang/erts-12.3.2/bin/beam.smp -K true ... -root /usr/lib/rabbitmq
</span></span><span class="line"><span class="cl">kafka     2567     1  2 Aug20 ?        00:08:31 java -Xmx1G -jar kafka_2.13-3.4.0/libs/kafka.jar ...
</span></span></code></pre></div>
</details>



## 端口发现

- 对应控制点：GB/T 22239-2019 8.1.4.4 入侵防范 b)（关闭不需要的系统服务和高危端口）。
- 判定要点：监听端口均有对应业务/服务且经运维确认判"符合"；存在不明监听端口，或 23、445、3389 等高危端口对业务网暴露判"部分符合/不符合"。
- 取证要求：留存 ss/netstat/lsof 输出截图，记录端口号、协议、进程名与 PID；对不明端口追踪二进制路径并拍照留证。

```bash
netstat -tulnp
```
- 预期现象：应显示监听端口、本地地址、PID/程序名等信息（-p 显示 PID/程序名需 root 权限，非特权用户下该列为 "-"）。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Active Internet connections (only servers)
</span></span><span class="line"><span class="cl">Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
</span></span><span class="line"><span class="cl">tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1123/nginx
</span></span><span class="line"><span class="cl">tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      1456/redis-server
</span></span><span class="line"><span class="cl">tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      2044/java
</span></span></code></pre></div>
</details>


```bash
ss -tulpn
```
- 预期现象：新版本 Linux 中应显示监听端口和进程信息（-p 需 root 权限）。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Netid State  Recv-Q Send-Q Local Address:Port Peer Address:Port Process
</span></span><span class="line"><span class="cl">tcp   LISTEN 0      128          0.0.0.0:80        0.0.0.0:*       users:((&#34;nginx&#34;,pid=1124,fd=6))
</span></span><span class="line"><span class="cl">tcp   LISTEN 0      4096       127.0.0.1:6379      0.0.0.0:*       users:((&#34;redis-server&#34;,pid=1456,fd=7))
</span></span><span class="line"><span class="cl">tcp   LISTEN 0      100          0.0.0.0:8080       0.0.0.0:*       users:((&#34;java&#34;,pid=2044,fd=48))
</span></span></code></pre></div>
</details>


```bash
lsof -i :8080
```
- 预期现象：8080 被占用时应显示 COMMAND、PID、USER 等字段。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">COMMAND PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
</span></span><span class="line"><span class="cl">java    2044   tomcat   48u  IPv4  0xa1b2      0t0  TCP *:http-alt (LISTEN)
</span></span></code></pre></div>
</details>



## 配置与日志目录发现

- 对应控制点：GB/T 22239-2019 8.1.4.4 入侵防范（定位组件配置，辅证最小安装）；8.1.4.3 安全审计（定位审计/运行日志文件）。
- 判定要点：能定位组件配置与日志文件且日志按 8.1.4.3 要求留存判"符合"；配置或日志缺失、无法定位判"部分符合/不符合"。
- 取证要求：留存配置目录与日志目录清单截图，记录关键日志文件路径，供安全审计条款后续核查取证。

```bash
find /etc -maxdepth 2 | grep -E 'nginx|redis|tomcat|apache'
```
- 预期现象：存在对应配置目录时应输出目录路径。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">/etc/nginx
</span></span><span class="line"><span class="cl">/etc/nginx/nginx.conf
</span></span><span class="line"><span class="cl">/etc/nginx/conf.d
</span></span><span class="line"><span class="cl">/etc/redis
</span></span><span class="line"><span class="cl">/etc/redis/redis.conf
</span></span><span class="line"><span class="cl">/etc/httpd
</span></span></code></pre></div>
</details>


```bash
ls /var/log | grep -E 'nginx|apache|redis'
```
- 预期现象：存在对应日志目录或日志文件时应输出名称。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">nginx
</span></span><span class="line"><span class="cl">redis
</span></span></code></pre></div>
</details>



## 进程识别提示

- 对应控制点：GB/T 22239-2019 8.1.4.4 入侵防范（进程甄别，辅证 8.1.4.4 a) 最小安装）。
- 判定要点：能据进程特征准确识别中间件类型并核实部署来源判"符合"；存在无法识别或伪装成常见中间件名的进程判"部分符合/不符合"。
- 取证要求：留存特征进程命令行截图，记录中间件名称、版本与部署路径，与版本复核结果相互印证。

```text
识别 java -jar、org.apache.catalina.startup.Bootstrap
```
- 预期现象：常作为 Tomcat 启动特征。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">tomcat    2044     1  1 Aug20 ?  00:03:22 java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties ... org.apache.catalina.startup.Bootstrap start
</span></span></code></pre></div>
</details>


```text
识别 java weblogic.Server
```
- 预期现象：常作为 WebLogic 启动特征。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">weblogic  3102     1  3 Aug20 ?  00:12:07 /usr/bin/java -server -Xms512m -Xmx1024m weblogic.Server
</span></span></code></pre></div>
</details>


```text
识别 nginx: master process
```
- 预期现象：常作为 Nginx 主进程特征。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">root      1123     1  0 Aug20 ?  00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
</span></span></code></pre></div>
</details>


```text
识别 beam.smp
```
- 预期现象：原始文档指出其可对应 Erlang 环境下的 RabbitMQ。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">rabbitmq  2301     1  0 Aug20 ?  00:01:45 /usr/lib/erlang/erts-12.3.2/bin/beam.smp -K true -P 1048576 -- -root /usr/lib/erlang -progname erl ...
</span></span></code></pre></div>
</details>


## 参考依据

- [GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》8.1.4 安全计算环境](https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=BAFB47E8874764186BDB7865E8344DAF)（全国标准信息公共服务平台，现行有效）
- [GB/T 28448-2019《信息安全技术 网络安全等级保护测评要求》](https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=7E736CDF4502B6FF1258DD250AA3EC8C)（全国标准信息公共服务平台，现行有效）
- [dpkg(1)：-l / --list 列出软件包](https://manpages.debian.org/bookworm/dpkg/dpkg.1.en.html)
- [rpm(8)：-q -a 查询全部已安装包](https://manpages.debian.org/bookworm/rpm/rpm.8.en.html)
- [ps(1)：-e -f 标准语法全进程列表](https://manpages.debian.org/bookworm/procps/ps.1.en.html)
- [ss(8)：-t -u -l -p -n 选项](https://manpages.debian.org/bookworm/iproute2/ss.8.en.html)
- [netstat(8)：-t -u -l -n -p 选项](https://manpages.debian.org/bookworm/net-tools/netstat.8.en.html)
- [systemctl(1)：list-units / --type / --state](https://manpages.debian.org/bookworm/systemd/systemctl.1.en.html)
- [service(8)：--status-all](https://manpages.debian.org/bookworm/init-system-helpers/service.8.en.html)
- [lsof(8)：-i :port 筛选监听端口](https://manpages.debian.org/bookworm/lsof/lsof.8.en.html)
- 《网络安全等级保护测评高风险判定指引》（T/ISEAA 001—2020，中关村信息安全测评联盟团体标准）

> 命令核验说明：本文命令已于 2026-09 对照上述官方文档核验，现场以实际系统版本为准。

## 关联文章

- 配套加固：[03、Linux安装软件的几种方法](../../../reinforce/服务器/03linux安装软件的几种方法/)
- 取证记录：[16、安全评估加固记录表3.0](../../../reinforce/其他系统或设备/16安全评估加固记录表3.0/)
- 高风险口径：[22、高风险判定指引与加固对照表](../../../reinforce/其他系统或设备/22高风险判定指引与加固对照表/)
