如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:
平常使用linux,我们经常需要查看哪个服务占用了哪个端口,接下来就为大家介绍了2种 Linux 查看端口占用情况可以使用 lsof 和 netstat 命令。
-t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化为数字 -l 仅列出在Listen(监听)的服务状态 -p 显示建立相关链接的程序名 例如查看 8000 端口的情况,使用以下命令:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
losf:(列出打开文件lists openfiles)能看到pid和用户(有权限控制,只能看到本用户),可以找到哪个进程占用了这个端口
--1 端口是否占用 netstat -apn | grep 1521 netstat -ano|grep 1521 netstat -lnp|grep 1521 --windows netstat -ano | findstr "1521" tasklist | findstr "3572"
lsof 简介 lsof(list open files)是一个列出当前系统中所有打开文件的工具 Linux中一切皆文件,所以在系统中,被打开的文件可以是普通文件、目录、网络文件系统中的文件、字符设备、管道、socket等 如何知道现在系统打开的是哪些文件?及这些文件的相关信息呢? lsof命令就是帮我们查看打开文件的信息的 基本用法 查看进程打开的文件 例如查看mysql在操作哪些文件 # lsof -c mysql 查看文件对应的进程 例如查看系统日志文件是在被谁操作 # lsof
lsof 备注: 如果不加任何参数,就会打开所有被打开的文件,建议加上一下参数来具体定位
大家好,又见面了,我是你们的朋友全栈君。 在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询 netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序) -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。 -n : 不进行DNS轮询,显示IP(可以加速操作) 即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况·· netstat -ntlp //查看当前所有tcp端口· netstat -ntulp |grep 80 //查看所有80端口使用情况·
#查看进程端口号及运行的程序 sudo netstat -antup #PID为端口号远行进程的号 sudo kill PID(进程码) # 查看所有打开的端口及服务名(注意这里显示的服务名只是标准端口对应的服务名,可能并不准确) nmap localhost # 查看哪些进程打开了指定端口port( 对于守护进程必须以root用户执行才能查看到 ) lsof -i:port # 查看哪些进程打开了指定端口port,最后一列是进程ID(此方法对于守护进程作用不大) netstat -nap|grep port # 查看端口号对应的系统服务名称 cat /etc/services # 启动|停止|重启系统服务
lsof(list open files)是一个列出当前系统打开文件的工具。 lsof 需要访问核心内存和各种文件,需要以 root 用户的身份运行。
在linux操作时,经常要查看运行的项目的进程和端口号,在这里总结了以下常用到的相关命令:
lsof用法 A.查看端口被谁占用 lsof -i:port,如:lsof -i:80 B.查看tcp监听端口 netstat -lpnt C.查看udp监听端口 netstat -lpnu D.查看本机IP netstat -ie E.lsof高级用法 lsof -i [46][protocol][@hostname|hostaddr][:service|port] 46表示ipv4和ipv6,protocol取值为tcp或udp, hostname主机名,hostaddr为IP地址, service为/etc/service中定义的service名,可以不止一个, port也可以不止一个 示例1:lsof -i4 示例2:lsof -i 4udp@127.0.0.1:7778 更详细细节可以“man lsof”搜索“hostname”。 F.显示开启文件abc.txt的进程 lsof abc.txt G.显示abc进程现在打开的文件 lsof -c abc 显示abc进程现在打开的文件 H.显示目录下被进程开启的文件 lsof +d /usr/local/ I.显示使用fd为4的进程 lsof -d 4 J.以UID,列出打开的文件 lsof -u username K.看进程号为12的进程打开了哪些文件 lsof -p 12 看进程号为12的进程打开了哪些文件 L.反复执行,默认15秒刷新一次 ls -r 死循环执行,直到被信号中断 示例:lsof -i:10888 更改刷新频率为2秒:lsof -i:10888 -r 2 ls +r 死循环执行,直到没有结果,如已没有程序占用端口号10888 示例:lsof -i:10888 +r 2 //////////////////////////////////////////////////////////// tcpdump用法 1.监听指定网卡 tcpdump -i eth1 2.监听指定UDP端口 tcpdump udp port 10888 3.监听指定TCP端口 tcpdump tcp port 80 4.监听A和B或A和C间的通讯 tcpdump host A and \(B or C \) 如:tcpdump host 127.0.0.1 and \(127.0.0.1 or 110.240.110.18 \) 5.监听A的所有通讯,但不包括A和B的 tcpdump ip A and not B 6.监听A发出的所有包 tcpdump -i eth1 src host A 7.监听所有发送到B的包 tcpdump -i eth1 dst host B 8.监听A收到或发出的所有http包 tcpdump tcp port 80 and host A 9.列出tcpdump能够监听的网卡 tcpdump -D 10.监听所有网卡,要求2.2或更高版本内核 tcpdump -i any 11.详细显示捕获的信息 tcpdump -v 更详细可以使用tcpdump -vv和tcpdump -vvv 12.以十六进制和ASCII方式打印包,除了连接层头 tcpdump -v -X 13.以十六进制和ASCII方式打印包,包括连接层头 tcpdump -v -XX 14.限制捕获100个包 tcpdump -c 100 15.将记录写入文件 tcpdump -w filename.log 16.使用IP代替域名 tcpdump -n 17.捕获每个包的100字节而不是默认的68字节 tcpdump -s 500 如果要捕获所有字节则为tcpdump -s 0 18.捕获所有广播或多播包 tcpdump -n "broadcast or multicast" 19.捕获所有icmp和arp包 tcpdump -v "icmp or arp" 20.捕获arp包 tcpdump -v arp 21.捕获目标地址是192.168.0.1,端口是80或443的包 tcpdump -n "dst host 192.168.0.1 and (dst port 80 or dst port 443)" 22.捕获目标端口号在1-1023间的UDP包 tcpdump -n udp dst portrange 1-1023 如果是tcp则改成:tcpdump -n tcp dst portrange 1-1023 23.捕获目标端口号为23的包 tcpdump
本文将深入浅出地介绍 lsof 命令,让你无论是初学者还是有一定编程经验的开发者,都能轻松掌握它。
window 中的 netstat - -a 显示所有连接和侦听端口。 - -n 以数字形式显示地址和端口号。 - -o 显示拥有的与每个连接关联的进程 ID。
原文链接:https://rumenz.com/rumenbiji/linux-lsof.html
2.使用 lsof -nP -iTCP -sTCP:LISTEN 查看占用端口的程序
netstat用来查看系统当前系统网络状态信息,包括端口,连接情况等,常用方式如下:
telnet是基于TCP的 这两种检测的当然也适用于检测本机端口,ip换成127.0.0.1即可。
1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链接
3.显示所有进程信息 ps -A 显示所有进程信息,连同命令行 ps -ef ps 与grep 组合使用,查找特定进程 ps -ef|grep geth
lsof是系统管理/安全的尤伯工具。我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lis
在使用计算机的过程中,有时会碰到端口被占用的情况,这时候需要查看端口占用情况进行问题排查。在linux系统中,端口占用的情况也时有发生,一般情况下可以使用lsof和netstat两个命令来查看端口占用情况。
端口可以认为是设备与外界通讯交流的出口,就好像是门牌号一样,那么在Linux系统中如何查看正在使用的端口?下面为大家分享一下Linux系统查看正在使用端口的具体方法。
在 linux 系统中,一切皆文件。通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以 lsof 命令不仅可以查看进程打开的文件、目录,还可以查看进程监听的端口等 socket 相关的信息。本文将介绍 lsof 命令的基本用法,本文中 demo 的演示环境为 ubuntu 18.04。
以下讲义,纯属个人所学理解,可能会有出入,仅参考。 端口分物理端口和应用端口。物理端口是物理设备的,比如笔记本上插网线的网口,就属于物理端口。应用端口是虚拟的,是网络模型中传输层的一种含义,也叫网络端口。大家常听的tcp端口、udp端口,是用来监听网络信息传输的。一般来说,一个应用或者一个服务对一个网络端口,网络信息传输到设备的物理端口,既网络模型中的物理层,经链路层、网络层传输到操作系统中,操作系统会根据网络信息中的目的端口来确认接受信息的应用或者服务。(如有错误,欢迎大家指正)
一般root用户才能执行lsof命令,普通用户可以看见/usr/sbin/lsof命令,但是普通用户执行会显示“permission denied”
lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。
Ubuntu查看端口使用情况,使用netstat命令: 查看已经连接的服务端口(ESTABLISHED) netstat -a 查看所有的服务端口(LISTEN,ESTABLISHED) netstat -ap 查看指定端口,可以结合grep命令: netstat -ap | grep 8080 也可以使用lsof命令: lsof -i:8888 若要关闭使用这个端口的程序,使用kill + 对应的pid kill -9 PID号 实例命令: 1.查看已连接的服务端口 (ESTABLISHED) nets
之前分享过一篇有关Linux的操作命令,内容很全,但是比较基础。然而,实际工作中用到的比那些稍复杂些,本篇分享一些开发工程师必须具备的实战Linux命令。 1.日志查询类 1.1 按关键字不分页查询 grep "applyId” app.log //applyId为要查询的关键字,app.log为日志名 1.2 按关键字从前往后分页查询 cat -n app.log | grep "applyId" | more 以上命令会分页输出,使用空格键翻页,使用回车键显示更多 1.3 按关键字只显示最后M行查询 t
lsof(list open files)用于查看进程打开的文件,是十分方便的系统监测工具。因为 lsof 命令需要访问核心内存和各种系统文件,所以需要 root 权限才可执行。
linux下有时需要查询某个文件被哪些进程调用,或者某个进程打开了哪些文件,今天介绍两个命令。
我们都知道,在linux下,“一切皆文件”,因此有时候查看文件的打开情况,就显得格外重要,而这里有一个命令能够在这件事上很好的帮助我们-它就是lsof。
在对app进行安全分析时,有时需要检查app的网络接口请求是否安全,网络协议交互是否可被恶意利用。因此就需要运行app并捕获其与服务端交互的网络数据进行分析。前面文章已介绍过http、https数据包的捕获,该篇文章主要介绍捕获app的tcp、udp流量数据。我们将使用tcpdump捕获tcp、udp流量,再通过wireshark过滤、分析app的tcp、udp流量。
netstat命令 netstat -an | grep <port> <port> 为端口号 例子: 查看mysql的3306端口是否开启: netstat -an | grep 3306 lsof命令 通过list open file命令可以查看到当前打开文件,在linux中所有事物都是以文件形式存在,包括网络连接及硬件设备。 lsof -i:80 -i参数表示网络链接,:80指明端口号,该命令会同时列出PID,方便kill 查看所有进程监听的端口 sudo lsof -i -P | gre
方法一:使用lsof命令 我们可以使用lsof命令来检查某一端口是否开放,基本语法如下: lsof -i:端口号 如果没有任何输出则说明没有开启该端口号 下图以80端口和53端口为例,检查80端口和5
netstat -tunlp 用于显示 TCP和UDP的端口和进程等相关情况 命令格式:
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。
tldr:Too Long; Didn't Read。是一个简化版的man,可以查看命令用法。
Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令: lsof -i tcp:80 列出所有端口 netstat -ntlp 1、开启端口(以80端口为例) 方法一: /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改 /etc/init.d/iptables save 保存修改 service iptables restart 重启防火墙,修改生效
在安装nginx,mysql,tomcat等等服务的时候,我们会遇到需要使用的端口莫名其妙被占用,下面介绍如何解决这类问题。
1.netstat netstat -tunlp用于显示 tcp,udp 的端口和进程等相关情况。 netstat 查看端口占用语法格式: netstat -tunlp | grep 端口号 -t (tcp) 仅显示tcp相关选项 -u (udp) 仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化为数字 -l 仅列出在Listen(监听)的服务状态 -p 显示建立相关链接的程序名 eg: # netstat -tunlp Active Internet connections (only s
在Linux中如何查看网络流量及带宽?在Linux系统中使用top可以查看系统资源、进程、内存占用等信息,要想查看网络流量及带宽可以使用iftop命令,下面为大家分享一下Linux系统查看网络流量及带宽具体方法。
要列出正在侦听的所有 TCP 或 UDP 端口,包括使用端口和套接字状态的服务,请使用以下命令:netstat -tunlp
领取专属 10元无门槛券
手把手带您无忧上云