对"查看进程使用的端口"工具小析

简介:

看后很受启发,来共享一下

 
  1. @echo off   
  2. color a   
  3. Title XP端口-进程查询   
  4. setlocal enabledelayedexpansion   
  5. echo ╔-                              -╗   
  6. echo   本机开放的端口及使用该端口的进程   
  7. echo ╚-                              -╝   
  8. echo ------------------------------------   
  9. echo          端口号           进程名称         
  10. ECHO TCP协议:   
  11. ::利用netstat命令找出使用TCP协议通信的端口,并将结果分割;   
  12. ::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j;   
  13. for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do (   
  14.   call :Assoc %%i TCP %%j   
  15.   echo           !TCP_Port!           !TCP_Proc_Name!    
  16. )   
  17.  
  18. ECHO UDP协议:   
  19. for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do (    
  20.   call :Assoc %%i UDP %%j   
  21.   echo           !UDP_Port!           !UDP_Proc_Name!   
  22. )   
  23. echo 按任意键退出   
  24. pause>nul   
  25.  
  26. :Assoc   
  27. ::对%1(第一个参数)进行分割,将第二个参数传给%%e。在本程序中,%1即为上面的%%i(形式为:IP:端口号)   
  28. for /F "tokens=2 delims=:" %%e in ("%1") do (   
  29.     set  %2_Port=%%e   
  30.   )   
  31. :: 查询PID等于%3(第三个参数)的进程,并将结果传给变量?_Proc_Name,?代表UDP或者TCP;   
  32. for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do (   
  33.    ::%%~a表示去掉%%a外面的引号,因为上述命令的结果是用括号括起来的。    
  34.    set %2_Proc_Name=%%~a   
  35.   )  

乍一看觉得很复杂,仔细看看,其实作者只用了两个命令:netstat -ano -p和for的循环切割,大家可以去DOS中试试netstat -ano -p看看是什么效果,能看到很多关于进程、端口、协议的信息,只要合理的分割就能达到作者的效果,这个例子中还有很多值得学习的地方,比如setlocal enabledelayedexpansion变量延迟,对于这个代码而言也就是说凡是要在for语句后,再次调用你原先定义的变量你就要用变量延迟,这个还需要慢慢理解。



本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/416083,如需转载请自行联系原作者


相关文章
|
网络协议 Linux
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
1323 2
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
781 5
|
运维 Linux
Linux查找占用的端口,并杀死进程的简单方法
通过上述步骤和命令,您能够迅速识别并根据实际情况管理Linux系统中占用特定端口的进程。为了获得更全面的服务器管理技巧和解决方案,提供了丰富的资源和专业服务,是您提升运维技能的理想选择。
825 1
|
监控 安全 网络安全
如何使用PortTunnel端口映射工具?
【10月更文挑战第8天】PortTunnel是一种端口映射工具,它允许用户将本地计算机上的端口映射到远程服务器上。要使用PortTunnel,您需要首先下载并安装该软件,然后按照以下步骤进行操作:,1. 打开PortTunnel并配置您的本地和远程端口设置。,2. 在“本地地址”字段中输入您要映射的本地IP地址。,3. 在“远程地址”字段中输入远程服务器的IP地址。,4. 在“本地端口”字段中输入您要映射的本地端口号。,5. 在“远程端口”字段中输入远程服务器上的端口号。,6. 单击“启动”按钮以开始映射过程
1777 2
|
消息中间件 网络协议 Python
工具人逆袭!掌握Python IPC,让你的进程从此告别单打独斗
【9月更文挑战第9天】你是否曾遇到多个Python程序像孤岛般无法通信,导致数据孤立、任务难协同的问题?掌握进程间通信(IPC)技术,可助你打破这一僵局。IPC是不同进程间传递数据或信号的机制,在Python中常用的方法有管道、消息队列、共享内存及套接字等。其中,管道适用于父子或兄弟进程间简单数据传递;套接字则不仅限于本地,还能在网络间实现复杂的数据交换。通过学习IPC,你将能设计更健壮灵活的系统架构,成为真正的编程高手。
163 3
|
网络协议
Mac根据端口查询进程id的命令
这篇文章介绍了在Mac操作系统上如何使用两种命令来查询监听特定端口的进程ID。第一种方法是使用`netstat -anp tcp -v | grep 端口号`,例如`netstat -anp tcp -v | grep 80`,这将列出所有使用端口80的TCP连接及其相关信息。第二种方法是使用`lsof -P -n -i:端口号`,例如`lsof -P -n -i:8080`,这将显示使用指定端口的进程列表,包括进程ID、用户、文件描述符等信息。文章通过示例展示了如何使用这些命令,并提供了输出结果的截图。
977 2
|
网络协议 Linux Shell
Linux下常用的端口转发工具
【7月更文挑战第27天】Linux下常用的端口转发工具
929 14
通过进程识别号查看SQLserve端口号
通过进程识别号查看SQLserve端口号
109 0
|
安全 网络协议 关系型数据库
黑客红客,都用过这个工具扫端口!
黑客红客,都用过这个工具扫端口!
396 2
Windows中如何查看被占用的端口、杀掉对应的进程
这篇文章介绍了在Windows系统中如何查看被占用的端口号以及如何杀掉占用端口的进程,包括使用命令提示符的`netstat -ano | findstr 端口号`命令查找进程PID,然后通过任务管理器或`taskkill /PID PID号`命令来结束进程。
Windows中如何查看被占用的端口、杀掉对应的进程

热门文章

最新文章