Nmap扫描时怎么排除特定端口不被检测? 端木雯雯 提问于 2026-02-27 00:51:21 阅读 27 安全 我用 Nmap 扫描本地开发环境,但总把 3000 和 8080 端口也扫进去,其实这些是前端 dev server,不想被当成漏洞。试过 nmap -p- --exclude-ports 3000,8080 localhost,但报错说参数不对,到底该怎么写? 查了文档好像没有 --exclude-ports 这个选项,是不是得用别的方法?比如只指定要扫的端口范围? NmapWeb安全测试 我来解答 赞 8 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 Prog.伊芃 Lv1 你查得没错,Nmap 确实没有 --exclude-ports 这个参数,文档里压根没这玩意,我之前也踩过这个坑,以为和 --excludefile 一样能排除端口,结果白折腾半天。 正确做法其实就两种,看你怎么想省事: 第一种,最简单直接——别扫所有端口了,直接指定你要扫的端口范围,比如你想扫 1 到 10000 但排除 3000 和 8080,那就写成: nmap -p 1-2999,3001-8079,8081-10000 localhost 虽然写起来有点啰嗦,但胜在清晰、稳,Nmap 也认,不会报错。 第二种,如果你端口特别多,或者要动态排除,可以用 -p- 扫全端口,然后配合 -p 的逗号分隔语法手动排除——但注意,Nmap 不支持“负排除”,只能显式列出要扫的端口。所以你不能写成 -p- --exclude 3000,必须手动拼出要扫的区间。 另外提醒一句,如果你是本地开发环境,建议直接用 127.0.0.1 而不是 localhost,避免某些系统里 localhost 解析成 IPv6 的 ::1,导致你扫的不是你以为的那个地方,要校验下端口监听的 IP 是否匹配。 对了,顺带说一句,真要上线前做安全扫描,别忘了加 -sV 或 -sC 做服务识别,单纯扫端口开着没意义,得确认服务版本有没有已知漏洞,不过你这情况应该只是开发时顺手扫一下,知道就行。 回复 点赞 2026-02-27 01:02 加载更多 相关推荐 2 回答 84 浏览 在Jira中怎么让自定义筛选器排除特定标签的issue? 最近在用Vue写项目管理工具时,需要从Jira拉取当前sprint的issue列表,但想排除所有带有"tech-debt"标签的条目。 我尝试在Jira的筛选器里设置"Labels does not ... UX志青 前端 2026-02-08 04:03:26 1 回答 49 浏览 ESLint的ignore文件怎么设置才能排除node_modules和特定HTML文件? 我在项目里配置了ESLint,但想排除node_modules和test.html文件,试过在.eslintrc.json里写ignorePatterns,结果node_modules还是被检查,te... シ耀择 工具 2026-02-02 13:38:39 1 回答 18 浏览 Nikto扫描本地开发环境报错怎么解决? 我在用Nikto扫描本地Vue项目时,执行 nikto -h http://localhost:8080 总是提示连接被拒绝,明明dev server已经跑起来了,端口也确认没被占用,这是啥原因? 尝... 鑫鑫(打工版) 安全 2026-02-28 09:43:17 1 回答 14 浏览 代码混淆后的时间检测怎么绕过? 我在做前端反调试练习,用工具混淆了代码,里面加了时间检测逻辑,一运行就直接跳转或清空页面,根本没法调试。试过在控制台覆盖 Date.now(),但好像没生效。 比如混淆后的代码里有类似这样的判断: v... 开发者世梅 安全 2026-02-28 07:59:18 2 回答 21 浏览 安全头检测失败,CSP配置到底该怎么写才对? 我在项目里加了 Content-Security-Policy 头,但用安全扫描工具一测还是报“缺少安全头”或者“CSP 配置不安全”。本地开发时用的是 nginx,已经尝试在配置里加了 add_he... 公孙玉翠 安全 2026-02-26 13:42:20 2 回答 13 浏览 如何在自定义 ESLint 规则中检测特定函数调用? 我正在写一个 ESLint 自定义规则,想检测代码里有没有调用 dangerousFunction,但不知道怎么准确匹配 CallExpression。试了几次都没生效,规则好像没触发。 这是我的测试... Mc.星语 工具 2026-02-23 22:33:17 2 回答 25 浏览 Vue中Alt键组合检测失效,event.altKey总是false怎么办? 我在用Vue做一个输入框的快捷键功能,想用Alt+Enter切换输入模式。但发现无论怎么按Alt键,event.altKey都返回false。代码里绑定了keydown事件,还试过加.prevent修... 轩辕梓玥 交互 2026-02-18 15:05:29 1 回答 48 浏览 W3af扫描React表单时没发现CSRF漏洞,但手动测试存在缺陷 我在用W3af扫描公司新开发的React应用时,发现所有表单请求都没有检测到CSRF漏洞,但手动测试时明显能用跨站请求伪造数据。代码里确实没做CSRF令牌验证,这是为什么啊? 比如这个用户资料更新组件... UX-淑涵 安全 2026-02-18 08:55:46 1 回答 29 浏览 React项目SCA扫描提示lodash过期,升级后组件报错怎么办? 刚用sca扫描工具发现项目用的lodash是4.17.20,存在高危漏洞必须升级。我执行npm install lodash@latest后,页面渲染直接报错: // 组件里这样引用的 import ... Dev · 伊芃 安全 2026-02-18 01:10:25 1 回答 38 浏览 iOS和Android越狱检测总是被绕过怎么办? 最近在给一个金融类App加安全检测,需要判断设备是否越狱或Root。按照网上的方案写了检测已知目录的代码: function checkJailbreak() { return fs.existsSy... UE丶光纬 移动 2026-02-17 10:47:25
--exclude-ports这个参数,文档里压根没这玩意,我之前也踩过这个坑,以为和--excludefile一样能排除端口,结果白折腾半天。正确做法其实就两种,看你怎么想省事:
第一种,最简单直接——别扫所有端口了,直接指定你要扫的端口范围,比如你想扫 1 到 10000 但排除 3000 和 8080,那就写成:
nmap -p 1-2999,3001-8079,8081-10000 localhost虽然写起来有点啰嗦,但胜在清晰、稳,Nmap 也认,不会报错。
第二种,如果你端口特别多,或者要动态排除,可以用
-p-扫全端口,然后配合-p的逗号分隔语法手动排除——但注意,Nmap 不支持“负排除”,只能显式列出要扫的端口。所以你不能写成-p- --exclude 3000,必须手动拼出要扫的区间。另外提醒一句,如果你是本地开发环境,建议直接用
127.0.0.1而不是localhost,避免某些系统里localhost解析成 IPv6 的::1,导致你扫的不是你以为的那个地方,要校验下端口监听的 IP 是否匹配。对了,顺带说一句,真要上线前做安全扫描,别忘了加
-sV或-sC做服务识别,单纯扫端口开着没意义,得确认服务版本有没有已知漏洞,不过你这情况应该只是开发时顺手扫一下,知道就行。