precioussammy/C-program--Port-scanner
GitHub: precioussammy/C-program--Port-scanner
一个基于C语言的跨平台端口扫描工具,通过TCP连接检测本机指定端口的开放状态。
Stars: 0 | Forks: 0
# C程序--端口扫描器
#include
#include
#ifdef _WIN32
#include
#define CLOSE_SOCKET closesocket
#else
#include
#include
#include
#define CLOSE_SOCKET close
#define SOCKET int
#endif
void scan_host(int port_number);
int main(void)
{
```
#ifdef _WIN32
WSADATA wsa;
WSAStartup(MAKEWORD(2,2), &wsa);
#endif
printf("Enter port to scan: ");
fflush(stdout);
int target_port;
if (scanf("%d", &target_port) != 1)
{
printf("Invalid input\n");
return 1;
}
printf("\nScanning local machine...\n");
scan_host(target_port);
#ifdef _WIN32
WSACleanup();
#endif
return 0;
```
}
void scan_host(int port_number)
{
```
SOCKET my_socket = socket(AF_INET, SOCK_STREAM, 0);
if (my_socket == -1)
{
printf("Failed to create socket\n");
return;
}
struct sockaddr_in target;
target.sin_family = AF_INET;
target.sin_port = htons(port_number);
target.sin_addr.s_addr = inet_addr("127.0.0.1");
int result = connect(my_socket, (struct sockaddr *)&target, sizeof(target));
if (result == 0)
{
printf("Port %i --> [OPEN]\n", port_number);
}
else
{
printf("Port %i --> [CLOSED]\n", port_number);
}
CLOSE_SOCKET(my_socket);
```
}
标签:DNS查询工具, 套接字编程, 插件系统, 本地网络探测, 端口扫描器, 网络安全, 隐私保护