遍历设置待测服务器的端口号为0000-9999,用c语言
时间: 2023-11-22 16:54:56 浏览: 67
二叉树的遍历输出c语言
3星 · 编辑精心推荐
以下是一个简单的 C 语言程序,用于遍历设置待测服务器的端口号为0000-9999:
```c
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
int main(int argc, char *argv[]) {
int port;
int sockfd;
struct sockaddr_in servaddr;
memset(&servaddr, 0, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = inet_addr("127.0.0.1");
for (port = 0; port <= 9999; port++) {
servaddr.sin_port = htons(port);
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) != -1) {
printf("Port %d is open\n", port);
}
close(sockfd);
}
return 0;
}
```
该程序会遍历从 0000 到 9999 所有的端口号,尝试连接服务器,如果连接成功,则输出该端口号为“开放状态”。如果连接失败,则该端口号为“关闭状态”。请注意,该程序只能检测 TCP 协议下的端口状态。如果服务器使用其他协议或端口类型,可能需要进行适当的修改。
阅读全文