通过TCP套接字请求服务名称


Request service name via TCP socket

我正在用PHP制作一个简单的端口扫描仪,并试图弄清楚如何请求我要连接的服务的名称,类似于Nmap如何发现服务。

我用fsockopen()打开套接字,所以我会用fwrite($socket, "WHAT SERVICE AM I COMMUNICATING WITH?")问这个问题,然后用fgets($socket)听。

我该如何询问服务是什么?

不同端口的用途是硬编码到程序中的。远程应用程序不会报告它们。互联网上有大量的列表提供这些信息。

在不同操作系统上查看标准服务和类似服务的响应也是一样的。这就是nmap猜测它在和什么操作系统说话的方式。

这是一个不错的起点。

这是带有nmap端口映射的源文件。

可怕的部分是告诉哪些版本正在运行的代码。就在这里,我很高兴不用写这个:''

最后一个,很确定这是一个文件,说明如何猜测远程计算机是哪个操作系统:这里是