gpt4 book ai didi

c++ - 使用什么库来创建简单的端口扫描器?

转载 作者:可可西里 更新时间:2023-11-01 02:36:07 28 4
gpt4 key购买 nike

我需要建议来创建一个简单的端口扫描器,它需要检测某些特定设备是否通过其 IP/MAC 地址连接到网络。

我在 Windows 7 上工作,可以优先使用 C++ Builder 2010、java 或 Qt。

图书馆必须在公共(public)领域或同等领域,因为我的软件是专有软件。

您会推荐哪个图书馆?您知道我可以从中着手的任何免费软件或示例吗?

使用 Indy 套接字或 Synapse TCP/IP 库怎么样?

最佳答案

任何 TCP/IP 库都可以使用。 Indy、ICS、Synapse,它们都可以与 C++Builder 一起正常工作。由于 Indy 附带 C++Builder,您可以从它开始,但您当然不限于它。

它们都在 Windows 内部使用 WinSock,因此您可以直接对 WinSock API 进行编程,而根本不使用任何库。您需要做的就是在程序启动时调用一次 WSAStartup(),然后为每个端口调用 socket()connect()想检查。要检查多个端口,您可以使用 ioctlsocket() 将套接字置于非阻塞模式,然后使用 select()WSAAsyncSelect(), WSAAsyncEvent(), 或者CreateIoCompletionPort()/GetQueuedCompletionStatus()检测connect()是否成功/失败,或者您可以将套接字置于阻塞模式(它们的默认模式)并使用工作线程调用 connect() 并让它直接告诉您它是否成功/失败。

关于c++ - 使用什么库来创建简单的端口扫描器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19925675/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com