语境
我使用计划的批处理文件检查服务器上的开放端口:
nmap.exe server1 server2 server3 etc >> log.txt
一般开21、22、80、443、3389。
现在,只要打开其他端口,我便可以发送电子邮件。
我看到有 Nmap 脚本引擎,但我没有找到可以理解的例子...如果可能的话,我还想使用批处理,因为我已经用这种语言(Blat)开发了电子邮件邮件。
问题
- 如何过滤“除21、22、80、443、3389之外的所有端口”?
- 如何开发“对于服务器x,如果一个端口打开,则发送电子邮件”?
答案1
听起来像是一个相当简单的脚本,但如果您要扫描所有 65535 个端口,您会发现扫描需要一段时间才能完成。
这Nmap参考指南是你的朋友。“greppable” 输出选项 ( -oG
) 生成一个易于解析的文件grep
或 Windows findstr.exe
。您应该能够使用这些工具过滤输出以排除“预期端口”并发送电子邮件(使用类似布拉特) 根据剩余产量。
答案2
我解决了类似的问题在我的博客上,我使用 Ndiff 工具生成新端口列表。Ndiff 需要 Python,但如果您安装了 Python,它应该可以在 Windows 上运行。我的特定脚本可能不适用于最新版本的 Ndiff,但想法是一样的,应该适合您的目的。