You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么shell脚本中nmap命令的>/dev/null重定向未按预期生效?

错误原因
  • 脚本内的my_IP_address是占位符,你没有替换为实际要扫描的IP地址或网段(例如192.168.1.0/24这类格式),导致nmap无法执行有效扫描,生成的MySQLscan文件中没有匹配open关键词的记录,最终MySQLscan2为空。你看到的非空MySQLscan大概率是之前运行脚本留下的历史文件,不是本次执行的输出结果。
  • 脚本缺少执行前清理旧文件的逻辑,历史残留文件会干扰对本次运行结果的判断。
  • 补充说明:你当前脚本里将nmap标准输出重定向到/dev/null的逻辑是有效的,不会影响-oG参数向指定文件写入grepable格式的扫描结果,这部分写法没有问题。
修复方案
  1. 替换占位符、添加旧文件清理逻辑,修改后的脚本参考如下:
#! /bin/bash

# 清理历史运行产生的旧文件
rm -f MySQLscan MySQLscan2

# 请将下方的192.168.56.0/24替换为你实际要扫描的IP/网段,示例值为VirtualBox默认主机网卡网段
nmap -sT 192.168.56.0/24 -p 3306 >/dev/null -oG MySQLscan

# 可直接用grep读取文件,无需多余cat管道
grep open MySQLscan > MySQLscan2

cat MySQLscan2
  1. 若扫描时存在权限不足导致的结果异常,可加sudo执行脚本:
    sudo bash 你的脚本文件名.sh

内容的提问来源于stack exchange,提问作者aurumpurum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:09:03