标签: php sockets
我正在用PHP编写一个简单的端口扫描程序,并试图找出我如何请求我正在连接的服务的名称,类似于Nmap能够发现服务的方式。
我正在使用fsockopen()打开套接字,因此我会使用fwrite($socket, "WHAT SERVICE AM I COMMUNICATING WITH?")提出问题,然后使用fgets($socket)进行收听。
fwrite($socket, "WHAT SERVICE AM I COMMUNICATING WITH?")
fgets($socket)
我如何询问服务是什么?
答案 0 :(得分:1)
它很难编码到程序中,不同的端口是什么。远程应用程序不报告它们。互联网上有大量列表提供这些信息。
查看不同操作系统上类似服务的标准服务和响应也是一样的。这就是nmap如何猜测它正在与之交谈的操作系统。
Here是一个不错的起点。
Here是包含nmap端口映射的源文件。
可怕的部分是告诉哪些版本正在运行的代码。那是here,我很高兴我不必写这个:\
最后一个,非常确定这是一个文件,说明如何猜测远程计算机是哪个操作系统:here