Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在用 PHP 制作一个简单的端口扫描器,并试图弄清楚我如何请求我正在连接的服务的名称,类似于 Nmap 能够发现服务的方式。
我正在使用 fsockopen() 打开套接字,所以我会fwrite($socket, "WHAT SERVICE AM I COMMUNICATING WITH?")用来问问题,然后使用fgets($socket).
fwrite($socket, "WHAT SERVICE AM I COMMUNICATING WITH?")
fgets($socket)
我如何询问服务是什么?
不同端口的用途是硬编码到程序中的。远程应用程序不会报告它们。互联网上有大量提供此信息的列表。
在不同操作系统上查看标准服务和类似服务的响应也是如此。这就是 nmap 猜测它正在与之交谈的操作系统的方式。
这是一个不错的起点。
这是带有 nmap 端口映射的源文件。
可怕的部分是告诉哪些版本等正在运行的代码。就在这里,我很高兴我不必写这个:\
最后一个,很确定这是说明如何猜测远程计算机是哪个操作系统的文件: 这里