windows10通过端口查找对应进程

一、输入命令:netstat -ano,列出所有端口的情况。

二、在列表中我们观察被占用的端口,比如是49157,首先找到它。


三、查看被占用端口对应的PID,

输入命令:netstat -aon|findstr "1900",

回车,记下最后一位数字,即PID,这里是4992。


四、继续输入:tasklist|findstr "4992",

回车,查看是哪个进程或者程序占用了1900端口,结果是:svchost.exe

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Windows 中,您可以使用 C 语言来编写一段程序,通过监听端口查找进程。 首先,您需要包含所需的头文件: ``` #include <winsock2.h> #include <windows.h> #include <ws2tcpip.h> #include <stdio.h> #include <process.h> ``` 然后,您需要创建一个套接字来监听端口: ``` SOCKET listen_socket; listen_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); ``` 接下来,您需要绑定套接字到本地地址和端口: ``` struct sockaddr_in server_address; server_address.sin_family = AF_INET; server_address.sin_addr.s_addr = INADDR_ANY; server_address.sin_port = htons(PORT); bind(listen_socket, (struct sockaddr *) &server_address, sizeof(server_address)); ``` 然后,您需要调用 `listen` 函数来开始监听端口: ``` listen(listen_socket, SOMAXCONN); ``` 接下来,您可以使用 `accept` 函数来接受连接请求: ``` SOCKET client_socket; struct sockaddr_in client_address; int client_address_size = sizeof(client_address); client_socket = accept(listen_socket, (struct sockaddr *) &client_address, &client_address_size); ``` 最后,您可以使用 `CreateToolhelp32Snapshot` 函数来获取进程快照,并使用 `Process32First` 和 `Process32Next` 函数来遍历进程列表,找到监听端口进程。 这里是一个简单的例子: ``` HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); PROCESSENTRY32 process; process.dwSize = sizeof(process); if (Process32First ### 回答2: 要编写一个使用C语言编写的Windows程序来通过监听端口查找进程,可以使用以下步骤: 1. 导入必要的头文件:在程序的开头导入 `<winsock2.h>` 头文件,该头文件包含了进行网络编程所需的函数和数据结构。 2. 初始化Winsock库:在程序的入口处调用 `WSAStartup()` 函数来初始化Winsock库,以便使用网络相关功能。 3. 创建套接字:使用 `socket()` 函数创建一个套接字,指定协议族为 `AF_INET` (IPv4)以及套接字类型为 `SOCK_STREAM` (TCP流套接字)。 4. 绑定套接字:使用 `bind()` 函数将套接字绑定到一个特定的IP地址和端口号。可以将IP地址设为 `INADDR_ANY`,表示套接字可以接受来自任何地址的连接。端口号可以自定义。 5. 监听连接请求:使用 `listen()` 函数开始监听指定端口上的连接请求。可以传入一个整数参数,表示可以同时处理的连接请求的最大数量。 6. 接受连接请求:使用 `accept()` 函数接受客户端的连接请求。该函数会阻塞程序执行,直到有连接请求到达为止。 7. 获取远程地址信息:使用 `getpeername()` 函数获取与套接字关联的远程地址信息,包括远程主机的IP地址和端口号。 8. 获取进程信息:可以使用 `GetTcpTable2()` 函数或 `CreateToolhelp32Snapshot()` 函数来获取系统上所有进程的信息。然后遍历进程列表,找到与远程地址对应进程。 9. 输出进程信息:将找到的进程信息输出到控制台或保存到文件中,以供进一步分析或处理。 10. 关闭套接字:使用 `closesocket()` 函数关闭套接字。 11. 清理资源:在程序的结尾处调用 `WSACleanup()` 函数来清理Winsock库所占用的资源。 通过以上步骤,可以实现一个通过监听端口查找进程的Windows程序。使用C语言编写代码并按照上述步骤进行编写和调试,即可实现该功能。 ### 回答3: 要编写一个用C语言编写的Windows程序,以监听端口查找进程,可以按照以下步骤进行: 1. 导入必要的头文件和库:包括Windows系统相关的头文件和库,如windows.h和ws2tcpip.h等。 2. 创建一个套接字(Socket):使用socket()函数创建一个套接字,并指定套接字的地址族(AF_INET)和类型(SOCK_STREAM)。 3. 绑定地址和端口:使用bind()函数将套接字绑定到本地地址和特定的端口上。可以使用INADDR_ANY来代表任意本地地址。 4. 监听端口:使用listen()函数开始监听绑定的端口,指定最大允许的连接数。 5. 接受新的连接请求:使用accept()函数接受来自客户端的连接请求,并返回一个新的套接字用于与该客户端进行通信。 6. 获取连接的对端IP和端口:使用getpeername()函数获取连接的对端IP和端口。 7. 获取对应进程ID:使用GetTcpTable2()或GetUdpTable2()等系统调用获取系统的TCP或UDP连接表。 8. 遍历连接表,查找匹配的进程ID:根据获取的连接的对端IP和端口,在连接表中查找匹配的进程ID。 9. 打印匹配的进程信息:使用GetModuleFileNameEx()等系统调用获取进程的文件路径和名称,并进行打印显示或记录在日志中。 10. 关闭套接字:在完成任务后,使用closesocket()函数关闭套接字。 需要注意的是,以上步骤中的具体函数调用和参数设置可以根据实际需求进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值