查看谁在使用某个网络端口

可以通过"netstat -anp" 来查看哪些端口被打开。

(注:加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, ftp->21,因此可以开启两个终端,一一对应一下程序所对应的端口号)

若要关闭某个端口,则可以:
1)通过iptables工具将该端口禁掉,如:
"sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"    
2)或者关掉对应的应用程序,则端口就自然关闭了,如:
"kill -9 PID" (PID:进程号)
如:    通过"netstat -anp | grep ssh"
有显示:    tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh
则:    "kill -9 7546"

=====================================================

http://www.tinylab.org/faqs/check-who-is-using-a-net-port/

  • 问题描述

    如果某个端口不是常用端口,又担心服务器被谁黑掉了,想知道到底谁在用,那该怎么办?

  • 问题分析

    通常可以通过nmap查看当前开放的端口,然后用lsof或者fuser工具来获取该端口对应的活动进程。

  • 解决方案

    以9000为例,查看当前开放的进程:

    然后用fuser或者lsof查看端口对应的活动进程:

    或者

  • $ sudo lsof -i :9000

如下命令也可以打印端口使用情况:

  • sudo lsof -n -i -P  

  • nmap -v -sV localhost -p 5060            # (5060 is port)will tell you the truth. You can also use:                netstat -apnt | grep 5060

  • sudo netstat -plntu

原文地址:https://www.cnblogs.com/welhzh/p/4525406.html