查看系统端口占用

第一种方法:

cmd

运行 netstat -aon

可以看到端口占用程序的pid,然后在打开任务管理器,跟进pid可查看到占用端口的程序

 

第二种方法:

 

 

     建立一个bat文件,内容如下:

 

 

 
::初始
@echo off
setlocal enabledelayedexpansion
color 1f
title 进程使用端口分析程序

:初始定义
set "space=                   "

::定义初始进程
::在这里你可以加入你认为安全的进程
if not exist ProcessList.ini (
echo System
echo smss.exe
echo csrss.exe
echo winlogon.exe
echo services.exe
echo lsass.exe
echo svchost.exe
echo spoolsv.exe
echo Explorer.EXE
echo avp.exe
echo realsched.exe
echo SOUNDMAN.EXE
echo ctfmon.exe
echo QQ.exe
echo TIMPlatform.exe
echo avp.exe
echo alg.exe
echo Qzone.exe
echo Maxthon.exe
echo TTPlayer.exe
echo conime.exe
echo QQPlayerSvr.exe
echo NOTEPAD.EXE
echo cmd.exe
echo tasklist.exe
echo wmiprvse.exe)>>ProcessList.ini
for /f %%i in (ProcessList.ini) do set "%%i=A"

echo                               ╭─────╮
echo           ╭─────────┤ 程序说明 ├────────╮
echo           │                  ╰─────╯                │
echo           │   本程序能够检测当前计算机正在运行进程所使用的 │
echo           │                                                │
echo           │端口,并能够对非常见进程提出警示 //             │
echo           ╰────────────────────────╯
echo.
echo            正在查询,请稍等...
echo          ╔═════════════════════════╗
echo          ║ 进程名              标识类型    协议类型   端口  ║
echo          ║ _________________________________________________║

::查询进程的PID号
::提取进程的PID号,并将其值设置为该进程的 名称
for /f "skip=4 tokens=1,2" %%i in ('tasklist') do set %%j=%%i

::查询以TCP协议使用的端口
call :QueryPort TCP 5
echo          ║ _________________________________________________║
call :QueryPort UDP 4
echo          ╚═════════════════════════╝
echo           按任意键继续...
pause>nul
if !num! GTR 0 (goto :NO) else goto :OK

:NO
echo.
echo           【评估】你的计算机可能存在风险
echo.
echo           以下进程为未定义进程,并正在使用端口通信,可能为木马 ^>^>
echo           ____________________________________________________
for /l %%i in (1 1 %num%) do  (
    if not defined !UnPro%%i! echo           !UnPro%%i! & set !UnPro%%i!=A
  )
goto :exit

:OK
echo.
echo           【评估】你的计算机看起来似乎是安全的。
echo           ____________________________________________________
:exit
pause>nul
exit

::查询端口类型"函数"
::函数说明:
REM PortType 为协议类型,可以为TCP,也可以为UDP
REM Num 为参数号,TCP协议中的第五个参数为PID号,而UDP的则为第四个。

:QueryPort PortType Num
    for /f "skip=4 tokens=2,%2" %%i in ('netstat -ano -p %1') do (
        call :LineUp "║ !%%j!" 21 Pro
        for /f "tokens=2 delims=:" %%a in ("%%i") do set Port=%%a
        if /I defined !%%j! (set ProType=→正常) else (
             set ProType=未定义
             set/a num+=1
             set UnPro!num!=!%%j!
           )
        call :LineUp !ProType! 8 ProType
        call :LineUp %1 10 PortType
        call :LineUp !Port! 6 Port
        echo          !Pro! !ProType! !PortType! !Port!║
      )
    goto :eof

::对齐目标
::函数说明:
REM OBJ 为对齐要操作的对象;Len为对齐操作的长度;Name为返回的变量名。
:LineUp OBJ Len Name
    set obj=%~1%space%
    set %3=!obj:~0,%2!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值