在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用.
eg、查看端口号为61078被哪个程序占用
1、查看端口号为61079被哪个PID所占用:Netstat –ano|findstr “<端口号>”
从结果中可以找到端口61078被PID为5576的进程占用
2、通过该PID查找对应的进程名称
从结果中可以判断PID为5576的进程名为YoukuMediaCenter.exe
3、通过用任务管理器查看找到该进程的安装目录
扩展
netatat命令
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
常见参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-o 显示与每个连接相关的所属进程PID
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
网络连接状态
1)、LISTEN:首先服务端需要打开一个socket进行监听, 侦听来自远方TCP端口的连接请求
2)、 SYN_SENT:客户端通过应用程序调用connect进行active open.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT. 在发送连接请求后等待匹配的连接请求
3)、 SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN. 之后状态置为SYN_RECV,在收到和发送一个连接请求后等待对连接请求的确认
4)、ESTABLISHED: 代表一个打开的连接,双方可以进行或已经在数据交互了,数据可以传送给用户
5)、 FIN_WAIT1:主动关闭(active close)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态.等待远程TCP的连接中断请求,或先前的连接中断请求的确认
6)、CLOSE_WAIT:被动关闭(passive close)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT. 等待从本地用户发来的连接中断请求
7)、FIN_WAIT2:主动关闭端接到ACK后,就进入了 FIN-WAIT-2 . 从远程TCP等待连接中断请求
8)、LAST_ACK:被动关闭端一段时间后,接收到文件结束符的应用程 序将调用CLOSE关闭连接。这导致它的TCP也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK . 等待原来发向远程TCP的连接中断请求的确认
9)、TIME_WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。等待足够的时间以确保远程TCP接收到连接中断请求的确认
10)、CLOSING: 比较少见.等待远程TCP对连接中断的确认
11)、CLOSED: 被动关闭端在接受到ACK包后,就进入了closed的状态。连接结束. 没有任何连接状态
12)、UNKNOWN: 未知的Socket状态。
tasklist命令
“Tasklist”命令是一个用来显示运行在本地或远程计算机上的所有进程的命令行工具,带有多个执行参数,默认显示所有进程
参数
/S system 指定连接到的远程系统。
/U [domain\]user 指定使用哪个用户执行这个命令。
/P [password] 为指定的用户指定密码。
(使用tasklist命令查看远程系统的进程时,需要远程机器的RPC 服务器的支持,否则,该命令就不能正常使用)
/M [module] 列出调用指定的 DLL 模块的所有进程,如果没有指定模块名,显示每个进程加载的所有模块。
/SVC 显示每个进程中的服务。
/V 指定要显示详述信息。
/FI filter 显示一系列符合筛选器指定的进程。
lt (小于),
le (小于等于),
gt (大于),
ge (大于等于),
eq (等于),
ne (不等于)
列出了系统中正在运行的非“justin”用户状态的所有进程。
taskkill
taskkill是用来终止进程的
参数列表:
/S system 指定要连接到的远程系统。
/U [domain\]user 指定应该在哪个用户上下文 执行这个命令。
/P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
/F 指定要强行终止进程。
/FI filter 指定筛选进或筛选出查询的 的任务。
/PID process id 指定要终止的进程的PID。
/IM image name 指定要终止的进程的图像名。通配符 '*'可用来指定所有图像名。
/T Tree kill: 终止指定的进程和任何由此启动的子进程。
/? 显示帮助/用法。