有时候需要在Linux下查看一个进程占用了那个端口,但是只知道进程大致的名称,比如要查看hadoop的namenode在哪个端口上运行,以便在eclipse中连接。
linux查看占用端口 linux查看占用端口的服务
linux查看占用端口 linux查看占用端口的服务
首先用ps命令查看进程的id:
其中每一行(很长的时候会占用若干行)的第二个字段就是进程的id。
当然,对于在ja虚拟机中运行的进程,比如hadoop的守护进程,可以直接用jsp命令查看:
或者已经知道进程的确切名称,可以用pidof查看:
查看到进程id之后,使用netstat命令查看其占用的端口:。 在LINUX系统环境下,我们可以使用系统命令来查看端口的使用情况。
13. 常见用法、查看端口是否已经打开:
2、查看端口是被哪个应用程序使用:
3、查看端口是被哪个应用程序使用2。
在LINUX系统环境下,我们可以使用系统命令来查看端口的使用情况。
1、查看端口是否已经打开:
netstat -an
2、查看端口是被哪个应用程序使用:
netstat -apnu表示udp协议
ps -ef
3、查看端口是被哪个应用程序使用2:
lsof
开始---->运行---->cmd,或者是window+R组合键,调出命令窗口
输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是457,首先找到它。
查看被占用端口对应的PID,输入命令:netstat -aon|findstr "457",回车,记下一位数字,即PID,这里是2720。
继续输入tasLinux可安装在各种计算机硬件设备中,比如、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。klist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe
或者是我们打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:
则我们点击查看--->选择列,将PID(进程标示符)前面的勾打上,点击确定。
这样我们就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,我们把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。
结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe。
1. ss命令
-h或--:在线帮助。ss 是 Socket Statistics 的缩写。ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快。当的 socket 连接数量变得非常大时,无论是使用 netstat 命令还是直接 cat /proc/net/tcp,执行速度都会很慢。ss 命令利用到了 TCP 协议栈中 tcp_diag。tcp_diag 是一个用于分析统计的模块,可以获得 Linux 内核中手的信息,因此 ss 命令的性能会好很多。
ss命令
2. 常用选项
-h, -- 帮助
-V, --version 显示版本号
-t, --tcp 显示 TCP 协议的 sockets
-u, --udp 显示 UDP 协议的 sockets
-x, --unix 显示 unix domain sockets,与 -f 选项相同
-n, --numeric 不解析服务的名称,如 "22" 端口不会显示成 "ssh"
-l, --listening 只显示处于状态的端口
-p, --processes 显示端口的进程(Ubuntu 上需要 sudo)
-a, --all 对 TCP 协议来说,既包含的端口,也包含建立的连接
-r, --resolve 把 IP 解释为域名,把端口号解释为协议名称
如果不添加选项 ss 命令默认输出所有建立的连接(不包含的端口),包括 tcp, udp, and unix socket 三种类型的连接:
3.1 查看前5名的连接:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
u_str ESTAB 0 0 20040 20041
u_str ESTAB 0 0 20030 20031
u_str ESTAB 0 0 20044 20043
u_str ESTAB 0 0 /run/dbus/_bus_socket 18592 185
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9016 :
LISTEN 0 128 127.0.0.1:9017 :
LISTEN 0 100 127.0.0.1:25 :
LISTEN 0 128 127.0.0.1:9018 :
LISTEN 0 128 127.0.0.1:1723 :
LISTEN 0 128 127.0.0.1:9019 :
ESTAB 0 0 ::1:ssh ::1:53238
ESTAB 0 0 ::1:53278 ::1:ssh
ESTAB 0 0 ::1:ssh ::1:53280
ESTAB 0 0 ::1:53288 ::1:ssh
ESTAB 0 0 ::1:53294 ::1:ssh
ESTAB 0 0 ::1:48456 ::1:ssh
ESTAB 0 0 ::1:53286 ::1:ssh
ESTAB 0 0 ::1:53292 ::1:ssh
ESTAB 0 0 ::1:ssh ::1:53272
linux查看tcp连接
3.4 解析IP和端口号
使用-r选项
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 my_public_ip:9016 :
LISTEN 0 128 my_public_ip:9017 :
LISTEN 0 100 localhost:tp :
LISTEN 0 128 my_public_ip:9018 :
LISTEN 0 128 my_public_ip:pptp :
LISTEN 0 128 my_public_ip:9019 :
linux查看端口
3.5 输出时带进程名称
使用-p选项
Total: 2340 (kernel 2365)
TCP: 2126 (estab 72, closed 23, orphaned 1, synrecv 0, timewait 2/0), ports 0
3.6 根据条件过滤输出结果
可以通过语法过滤输出结果,根据源IP、源端口、目标IP、目标端口
src源
dst目标
ss dst 172.16.26.33
ss dst 172.16.26.43:
3.7 根据源端口号范围输出:
根据目标端口号范围输出:
ss dport OP PORT
OP 可以代表以下任意一个:
<=le小于或等于某个端口号 >=ge大于或等于某个端口号==eq等于某个端口号!=ne不等于某个端口号>gt大于某个端口号 比如: 输出源端口号小于8080的连接状态 或者 3.8 根据TCP 的状态进行过滤 ss命令还可以根据TCP连接的状态进行过滤,支持的 TCP 协议中的状态有: established syn-sent fin-wait-1 fin-wait-2 closed close-wait last-ack listening closing 除了上面的 TCP 状态,还可以使用下面这些状态: 状态输出结果 all输出所有TCP状态。connected输出已经建立连接的TCP状态。synchronized输出同步状态的连接。bucket输出maintained的状态,如:time-wait 和 syn-recv。big输出与bucket相反的状态。 只输出ipv6状态: 输出ipv4状态: 输入出ipv4协议下的ssh状态: 或者 要么使用转义小括号,要么使用单引号 查看所有已经建立TCP三次握手的HTTP连接: 查看所有正在进程的ssh连接: 4. 总结 ss 命令功能丰富并且性能出色,完全可以替代 netsate 命令。已经成为我们日常查看 socket 相关信息的利器。未来netstat已经慢慢被ss取代。 #如果显示有运行程序就会占用了 查看80端口被那个进程占用: [root@host ~]# netstat -pan | grep :80 tcp 0 0 127.0.0.1:80 0.0.0.0: LISTEN 23903/nginx tcp 0 0 0.0.0.0:8081 0.0.0.0: LISTEN 23509/d 然后终止占用80端口该进程的方式: [root@host ~]# kill pid [root@raykaeso ~]# netstat -ntlp //查看运行的进程服务和端口 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:8005 0.0.0.0: LISTEN 16725/ja tcp 0 0 0.0.0.0:8009 0.0.0.0: LISTEN 16725/ja tcp 0 0 127.0.0.1:27017 0.0.0.0: LISTEN 2138/mongod tcp 0 0 0.0.0.0:8010 0.0.0.0: LISTEN 14335/ja tcp 0 0 0.0.0.0:11211 0.0.0.0: LISTEN 859/memcached tcp 0 0 0.0.0.0:8080 0.0.0.0: LISTEN 16725/ja tcp 0 0 0.0.0.0:80 0.0.0.0: LISTEN 872/d tcp 0 0 0.0.0.0:22 0.0.0.0: LISTEN 873/sshd tcp6 0 0 :::3306 ::: LISTEN 23443/mysqld Linux netstat命令是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。使用时如果不带参数,netstat显示活动的 TCP 连接。netstat命令用来打印Linux中网络系统的状态信息最常用的命令之一。 -A:列出该网络类型连线中的相关地址 -c:持续列出网络状态 -C:显示路由器配置的快取信息 -e:显示网络其他相关信息 -F:显示FIB -g:显示多重广播功能群组组员名单 -h:在线帮助 -i:显示网络界面信息表单 -l:显示中的的Socket -M:显示伪装的网络连线 -N:显示网络硬件外围设备的符号连接名称 -o:显示计时器 -p:显示正在使用Socket的程序识别码和程序名称 -r:显示Routing Table -s:显示信息统计表 -t:显示TCP传输协议的连线状况 -u:显示UDP传输协议的连线状况 -v:显示指令执行过程 -tcp6 0 0 :::11211 ::: LISTEN 859/memcachedV:显示版本信息 -w:显示RAW传输协议的连线状况 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:8005 0.0.0.0: LISTEN 16725/ja tcp 0 0 0.0.0.0:8009 0.0.0.0: LISTEN 16725/ja tcp 0 0 127.0.0.1:27017 0.0.0.0: LISTEN 2138/mongod tcp 0 0 0.0.0.0:8010 0.0.0.0: LISTEN 14335/ja tcp 0 0 0.0.0.0:11211 0.0.0.0: LISTEN 859/memcached tcp 0 0 0.0.0.0:8080 0.0.0.0: LISTEN 16725/ja tcp 0 0 0.0.0.0:80 0.0.0.0: LISTEN 872/d tcp 0 0 0.0.0.0:22 0.0.0.0: LISTEN 873/sshd tcp6 0 0 :::3306 ::: LISTEN 23443/mysqld 查询指定端口通过grep过滤:netstat-tnlp|grep:80使用ss检查端口ss是新的netstat,命令选项大致相同。它缺少一些netstat功能,但暴露了更多的TCP状态,而且速度稍快。 linux查看端口号命令,为您提供linux查看端口号命令图文信息,打开linux系统,在linux的桌面的空白处右击。在弹出的下拉选项里,点击打开终端。在终端窗口中输入cat/etc/servs命令,回车后即可查看到端口。 进一步使用命令:ps-aux|grepja,或者直接:ps-aux|greppid查看就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!《Linux就该这么学》学习更多命令。 lsof命令lsof命令用于显示Linux系统当前已打开的所有文件列表。查看进程或系统打开的文件会给调试带来极大的帮助。下面简单地介绍lsof常使用的功能。 很多朋友都想知道linux怎么查看端口开启?下面就一起来了解一下吧!linux查看端口开启打开linux系统,在linux的桌面的空白处右击。在弹出的下拉选项里,点击打开终端。 配置完毕运行/etc/rc.d/init.d/drestart,然后在浏览器上输入localhost:800应该可以看到该端口虚拟主机的内容了。 如果有这句则代表着8080端口是开启的。如果你是做tomcat或apache服务需要打开8080端口而无法打开的话则看看是不是被占用了netstat-an可以查看活动的端口,然后来看看是不是被占用了。 firewall-cmd作的是放行的端只输出ipv4状态:口,netstat-ntlp查看的是端口,是不同的两个作,是不同的概念。 检查端口没看到8080在listen的话,就说明你的tomcatk可能没启动,或是server.xml中的端口那一栏被注释掉。建议你检查一下server.xml的相关配置,以及查看下tomcat进程是否在运行。 while[$testing443=]中单个=号是赋值的意思,应换成==载入/home/admin/Onion/Start44sh脚本的时候使用sh/home/admin/Onion/Start44sh,或t表示tcp协议者使用source或者.(一个点)载入其他脚本。 使用命令:ps-aux|greptomcat发现并没有8080端口的Tomcat进程。使用命令:netstat_apn查看所有的进程和端口使用情况。发现下面的进程列表,其中一栏是PID/Programname发现8080端口被PID为9658的Ja进程占用。 linux系统下,查看端口占用情况的命syn-recv令:lsof -i 1 [root@www ~]# lsof -i 23 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME 4 nginx 2333 root 6u IPv4 6242 TCP : (LISTEN) 5 nginx 2334 www 6u IPv4 6242 TCP : (LISTEN) 6 sshd 2349 root 3u IPv6 6283 TCP :ndmp (LISTEN) 7 sshd 2349 root 4u IPv6 6286 TCP :ssh (LISTEN) 这里返回了Linux当前所有打开端口的占用情况。段是进程,一列是侦听的协议、侦听的IP与端口号、状态。如果端口号是已知的常用服务(如80、21等),则会直接显示协议名称,如、ftp、ssh等。 1 [root@www ~]# lsof -i:21 23 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME 5 pure-ftpd 2651 root 5u IPv6 7048 TCP :ftp (LISTEN) 这里显示出21号端口正在被pure-ftpd使用,状态是listen。 结束占用端口的进程:killall 进程名 虽然我们不建议用这种本末倒置的方法来解决冲突问题,但某些情况下还是可以直接结束掉占用进程的(比如重启Apache时进程没有完全退出,导致重启失败) 1 [root@www ~]# killall pure-ftpd 这样,所有的pure-ftpd进程都会被结束掉。Linux下查看80端口被什么程序占用
ss dst 172.16.26.4 pure-ftpd 2651 root 4u IPv4 7047 TCP :ftp (LISTEN)43:443linux系统用什么命令查看端口的占用情况
3.9 根据TCP状态和端口号进行过滤linux查看运行的端口命令
Linux是一套免费使netstat参数:用和自由传播的类Unix作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络作系统。linux怎么查看8080端口
如何故意占用linux系统某个端口
也可以参考一下Linux就该这么学的书籍
版权声明:本文内容由互联。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发 a13828211729@163.com 邮箱删除。