酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++ 端口扫描代码示例:学习网络侦察技术

以下是一些简单的 C++ 代码示例,不过需要强调的是,真正意义上的“黑客行为”是违法且不道德的,这里展示的代码仅用于学习和技术研究,不能用于非法目的。 ### 🔍 端口扫描代码示例 端口扫描是一种常见的网络侦察技术,用于确定目标主机上哪些端口是开放的。 ```cpp #include <iostream> #include <cstring> #include <sys/socket.h> #include <arpa/inet.h> #include <unistd.h> // 扫描指定 IP 和端口 bool scanPort(const char* ip, int port) { int sock = socket(AF_INET, SOCK_STREAM, 0); if (sock < 0) { std::cerr << "Failed to create socket" << std::endl; return false; } struct sockaddr_in target; target.sin_family = AF_INET; target.sin_port = htons(port); inet_pton(AF_INET, ip, &target.sin_addr); if (connect(sock, (struct sockaddr*)&target, sizeof(target)) == 0) { close(sock); return true; } close(sock); return false; } int main() { const char* ip = "127.0.0.1"; for (int port = 1; port <= 1024; ++port) { if (scanPort(ip, port)) { std::cout << "Port " << port << " is open on " << ip << std::endl; } } return 0; } ``` 这段代码通过创建一个 TCP 套接字,尝试连接到目标主机的指定端口。如果连接成功,则说明该端口是开放的。 ### 👨‍💻 代码解释 - `scanPort` 函数:该函数接受一个 IP 地址和一个端口号作为参数,尝试连接到该端口。如果连接成功,返回 `true`,否则返回 `false`。 - `main` 函数:在 `main` 函数中,我们指定了目标 IP 地址为 `127.0.0.1`,并扫描从 1 到 1024 的端口。如果某个端口是开放的,就输出相应的信息。 ######[AI问答 | 555点数解答 | 2026-07-22 17:14:19]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]