首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Nmap作为端口敲门客户端?

如何使用Nmap作为端口敲门客户端?
EN

Security用户
提问于 2019-05-08 12:01:07
回答 2查看 6.2K关注 0票数 2

我想使用Nmap来敲敲CTF机器的端口,所以我已经阅读了正确配置它的手册:

代码语言:javascript
复制
nmap <ip> -p <port1>,<port2>,... -r --max-retries 0 --max-parallelism 1

特别是,-r确保按列出的顺序扫描端口,--max-retries 0确保端口不被探测超过一次,max-parallelism 1确保只运行单个线程。

但是,上面的Nmap命令无法打开隐藏的服务。如果我使用下面的端口敲门客户端,那么一切都能正常工作:

https://github.com/grongor/knock

有什么想法吗?

EN

回答 2

Security用户

发布于 2019-05-08 12:32:19

敲门脚本将套接字设置为“非阻塞”。python中的非阻塞与将超时设置为0相同,也就是说,不要等待响应。TCP协议默认为“阻塞”,即等待响应。

从爆震的角度来看,相关的台词是:s.setblocking(False)

尝试使用nmap中将超时设置为0的设置:

https://nmap.org/book/man-performance.html

--min-rtt-timeout <time>, --max-rtt-timeout <time>, --initial-rtt-timeout <time> (Adjust probe timeouts)--host-timeout <time> (Give up on slow target hosts) (怀疑这将是第一个)。

此外,您可能会发现,让wireshark在后台运行以捕获进出服务器的所有流量是有用的,因为您可以记录在使用nmap和敲门时发送的内容,您可以通过比较结果来发现这种情况。

票数 0
EN

Security用户

发布于 2020-09-04 05:22:29

敲门客户的默认行为与nmap命令行不同,如下所示:

  • 使用TCP连接(不仅仅是SYN探测)
  • 引入了200 of的延迟
  • 等待200 of的超时
  • 不对主机进行平平(默认情况下,nmap使用TCP 80 SYN,在序列中引入额外的初始敲门)

也许服务器的实现取决于其中之一。要匹配相同的bahavior,您可能需要尝试以下方法:

nmap <ip> -p <port1>,<port2>,... -r --max-retries 0 --max-parallelism 1 -sT --scan-delay 200ms --max-rtt-timeout 200ms -Pn

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/209746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档