怎么查看端口占用情况?

linux centos ubuntu 怎么查看端口占用情况?

前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。 

1. 可以通过"~$ netstat -anp" 来查看哪些端口被打开。 
(注:加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, ftp->21,因此可以开启两个终端,一一对应一下程序所对应的端口号) 
2. 然后可以通过"~$ lsof -i:$PORT"查看应用该端口的程序($PORT指对应的端口号)。或者你也可以查看文件/etc/services,从里面可以找出端口所对应的服务。 
(注:有些端口通过netstat查不出来,更可靠的方法是"~$ sudo nmap -sT -O localhost") 
3. 若要关闭某个端口,则可以: 
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" 

 

怎么查看端口占用情况? 

开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"

 

经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用

 

假如我们需要确定谁占用了我们的9050端口

 

在windows命令行窗口下执行:

C:\>netstat -aon|findstr "9050"

TCP    127.0.0.1:9050         0.0.0.0:0              LISTENING       2016

看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:

C:\>tasklist |findstr "2016"

tor.exe                     2016 Console                 0     16,064 K

很清楚吧,tor占用了你的端口。

 

 

 

 

 

 

 

“Tasklist”命令是一个用来显示运行在本地或远程计算机上的所有进程的命令行工具,带有多个执行参数。

它的使用格式为:

TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

参数列表:

/S       system             指定连接到的远程系统。

/U       [domain\]user      指定使用哪个用户执行这个命令。

/P       [password]         为指定的用户指定密码。

/M       [module]           列出调用指定的 DLL 模块的所有进程。

                           如果没有指定模块名,显示每个进程加载的所有模块。

/SVC                      显示每个进程中的服务。

/V                        指定要显示详述信息。

/FI      filter             显示一系列符合筛选器指定的进程。

/FO      format             指定输出格式,有效值: "TABLE"、"LIST"、"CSV"。

/NH                       指定栏标头不应该在输出中显示。

                             只对 "TABLE" 和 "CSV" 格式有效。

 

1、使用“Tasklist”命令查看本机进程

运行“命令提示符”程序,在提示符窗口中输入:“tasklist”命令(图一),这样就显示本机的所有进程。本机的显示结果由五部分组成:图像名(进程名)、PID、会话名、会话#、内存使用。 

 

2、查看远程系统的进程

在命令提示符下输入(图二):

     “tasklist    /s    218.22.123.26    /u    jtdd    /p    12345678”(不包括引号)

其中/s参数后的“218.22.123.26”指要查看的远程系统的IP地址,/u后的“jtdd”指tasklist命令使用的用户帐号,它是远程系统上的一个合法帐号,/p后的“12345678”指jtdd帐号的密码,。

    这样,通过上面的命令,我们就可以查看到远程系统的进程了。

小提示:使用tasklist命令查看远程系统的进程时,需要远程机器的RPC 服务器的支持,否则,该命令就不能正常使用。

 

3、查看系统进程提供的服务

tasklist命令不但可以查看系统进程,而且还可以查看每个进程提供的服务。

如查看本机的进程“SVCHOST.EXE”提供的服务,在命令提示符下输入:

 

“tasklist    /svc”命令即可(图三),你会惊奇的发现,有四个“SVCHOST.EXE”进程,原来有二十几项服务使用这个进程,对于远程系统来说,查看系统服务也很简单,使用” tasklist    /s    218.22.123.26    /u    jtdd    /p    12345678    /svc”命令,就可以查看IP地址为“218.22.123.26”的远程系统进程所提供的服务。

 

4、查看调用DLL模块文件的进程列表

例如,我们要查看本地系统中哪些进程调用了“shell32.dll” DLL模块文件。

(图四)在命令提示符下输入:

    tasklist    /m    shell32.dll

这时系统将显示调用进程列表。

  

5、使用筛选器查找指定的进程 

在命令提示符下输入:

“TASKLIST     /FI      "USERNAME ne NT AUTHORITY\SYSTEM"       /FI "STATUS eq running“

    这样就列出了系统中正在运行的非“SYSTEM“状态的所有进程(图五)。

其中“/FI“为筛选器参数,” ne“和”eq“为关系运算符”不相等“和”相等“。

 

补充:

谈到“Tasklist”命令,我们就不得不提它得孪生兄弟“taskkill”命令,顾名思义,它是用来杀死进程的。

    如要杀死本机的“notepad.exe”进程。

首先,使用Tasklist查找它的PID,系统显示本机“notepad.exe”进程的PID值为“1132“,然后运行“taskkill    /pid 1132”即可,或则运行” taskkill    /IM    notepad.exe“也可,

其中” /pid “参数后面跟要终止进程的PID值,“/IM“参数后面为进程的图像名。

 

 

“Tasklist”命令的用法还有很多,由于篇幅关系,就不详细介绍了,有兴趣的朋友可以参考有关技术资料,进行深入研究。

 1、对TCP/IP协议的属性进行设置。

 

  方法:右击“网上邻居”,选择“属性”,双击网卡对应的“TCP/IP协议”,选择“DNS”标签。设置如下:选中“启用DNS”;“主机”中填入服务器名称;并在下面的“DNS服务器搜索顺序”中填入服务器的IP地址,本例为“192.168.0.1”,然后单击[填加];单击[确定]结束DNS设置;再次单击[确定],结束对网络属性的设置。这时需要重新启动计算机。

 

   2、重新启动后,右击桌面上的IE图标,选择“属性”。在接下来的“Internet属性”对话框中进行如下设置:选中“连接”标签;单击“局域网设置” 按钮;选中“使用代理服务器”;单击“高级”;在“服务器类型”中分别填入:HTTP为192.168.0.1,端口为808;FTP为 192.168.0.1,端口为2121;Socks为192.168.0.1,端口为1080;然后单击[确定]完成对IE的设置。

 

   上网浏览

 

   完成了上述的操作后,将服务器连接到因特网上,再启动CCProxy,学生机就可以通过IE自由在网际之间穿梭了,想要停止代理服务只需单击[停止]按钮即可。

 

   备注

 

 

 

 

 

 

 

 

 

 

 

netstat -an 

 

 

 

Netstat -tln 命令是用来查看linux的端口使用情况

 

/etc/init.d/vsftp start 是用来启动ftp端口~!

 

看文件/etc/services

 

netstat

 

查看已经连接的服务端口(ESTABLISHED)

 

netstat -a

 

查看所有的服务端口(LISTEN,ESTABLISHED)

 

sudo netstat -ap

 

查看所有的服务端口并显示对应的服务程序名

 

nmap <扫描类型><扫描参数>

 

例如:

 

nmap localhost

 

nmap -p 1024-65535 localhost

 

nmap -PT 192.168.1.127-245

 

当我们使用 netstat -apn 查看网络连接的时候,会发现很多类似下面的内容:

 

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

 

tcp 0 52 218.104.81.152:7710 211.100.39.250:29488 ESTABLISHED 6111/1

 

显示这台服务器开放了7710端口,那么这个端口属于哪个程序呢?我们可以使用 lsof -i :7710 命令来查询:

 

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

 

sshd 1990 root 3u IPv4 4836 TCP *:7710 (LISTEN)

 

这样,我们就知道了7710端口是属于sshd程序的。 

http://hi.baidu.com/215872393/item/9da81ec69cb46068f7c95dc8
 
netstat -an命令只可以查看那些端口是开发的,LISTENING是监听,也就是说LISTENING对应的端口是开放的。ESTABLISHED是已经建立连接的意思,对应的ip为建立连接的ip。netstat -an显示的端口都是没有被封的。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值