如何用c#查看端口被哪个进程占用

小虾写了个端口扫描软件,可以发现有哪些端口是开放的,请问,如何看看这些端口被哪些程序占用或者打开?谢谢。可以具体一点吗?这两个文件又保存在哪里呢?... 小虾写了个端口扫描软件,可以发现有哪些端口是开放的,请问,如何看看这些端口被哪些程序占用或者打开?谢谢。
可以具体一点吗?这两个文件又保存在哪里呢?
展开
 我来答
xx_lzj
2008-02-20 · TA获得超过970个赞
知道大有可为答主
回答量:578
采纳率:0%
帮助的人:732万
展开全部
用System.Diagnostic.Process.Start,运行netstat -o > net.txt和tasklist > process.txt,得到关于端口和进程PID对应的列表文本文件net.txt,以及软件名和PID对应的列表文本文件process.txt。
*********
第一个命令得到所有端口被那个PID占用的信息,保存为文件
第二个命令得到所有PID和进程名称的对应信息,保存为文件
你再读取这两个文件,将端口直接对应到进程名称,列出即可
*******
保存到哪里随你啊,难道你说的不是本机?那我回答的就有问题了,要扫描别的机器,要用Socket,变换端口进行数据包发送。
只要你保存的文件能读到,能分析就可以了。
之所以保存到文件,是因为dos命令只能重定向到文件、打印机等,不可能直接到内存
Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
忆林子
2008-03-02 · TA获得超过2034个赞
知道大有可为答主
回答量:4079
采纳率:0%
帮助的人:2729万
展开全部
@echo off
set /p inputPID=[请输入端口号:]
netstat -ano | findstr ":%inputPID%">inputPID.忆林子
FOR /F "tokens=1,2,3,4,5" %%i IN ('more inputPID.忆林子') DO (
for /f "delims=: tokens=1,2" %%a in ("%%j") do (
if /i "%%b"=="%inputPID%" (
if /i "%%m" neq "" tasklist /fi "pid eq %%m"
if /i "%%m"=="" tasklist /fi "pid eq %%l"
)
)
)
if exist inputPID.忆林子 del inputPID.忆林子 /q
PAUSE
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式