linux命令losf,linux命令long
Linux如何查看端口是否被占用
Linux如何查看端口是否被占用?下面为大家推荐两种检测方法,对Linux系统不熟悉的小伙伴可以看看。
成都创新互联公司服务项目包括南谯网站建设、南谯网站制作、南谯网页制作以及南谯网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,南谯网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到南谯省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
1、使用lsof命令
lsof是一个非常强大的linux工具,她被用来查找哪些程序使用了那些文件。在linux系统下,基本上所有的东西都可以被当作文件来用。socket当然也是一种文件了。所以lsof可以用来查找谁用了某一个端口。
具体方法:lsof -i :port_number |grep "(LISTEN)"
-i是用来查找和网络相关的文件,":"号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要查找是否 有程序占用了oracle的监听端口1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已经占用了,那么下面打印的第二个字段就是该程序的进程id,第一个字段是进程的名字。
如果只有losf -i :port_number可能会查到很多应用程序,但这些程序实际并没有占用你指定的端口,这些端口只是连接到本机器或者别的机器的该端口。所以要grep "(LISTEN)“,因为一个端口只可能被一个程序占用的,所以这种方法是可靠的。
2、使用netstat 命令
大家一定对这个命令比较熟悉了,可能你从没有想到用到来查找哪一个程序的占用了指定的端口。但是netstat -an 的确提供了这种功能。所以有问题了一定要想到先去查找man手册,不过说实话,某些man手册写得让中国人看不懂,那没有办法了,就googe或者 baidu一下吧。
执行man netstat命令,你会发现netstat 提供了'-p'的选项,这个选项的功能是告诉你哪个程序占用了该端口,但是她提供的.形式比较古怪是以pid/process_name提供的。pid当然 是进程id了,process_name是进程的命令,中间以'/'号分隔。
和上面的原因一样,我们只查找listen的端口,netstat 给我们提供了-l的选项,这个选项不是默认的选项。
下面以1521端口来看怎么查找到该程序,我们使用下面的命令:netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'在这里使用awk来匹配第4个字段的模式是为了避免误判。
linux下进程端口号查看
一、查看进程占用的端口号
1、查看程序对应的进程号:ps -ef | grep 进程名字
2、查看进程号所占用的端口号:netstat -nltp | grep 进程号
3、通过进程号查询进程信息:ps -ef | grep 进程号
二、查看端口号所使用的进程号
1、使用lsof命令:lsof -i:端口号
使用netstat -nltp 也是可以做的
2、查看所有的进程占用的端口号:lsof -i
linux查看端口占用情况
一、常用命令:
1,lsof -i端口号
2,netstat -tunlp|grep 端口号
这两个命令都可以查看端口被什么进程占用。
二、lsof -i 需要 root 用户的权限来执行,如下图:
三、netstat命令
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
扩展资料
一、更多 lsof 的命令扩展
1、lsof -i:8080:查看8080端口占用
2、lsof abc.txt:显示开启文件abc.txt的进程
3、lsof -c abc:显示abc进程现在打开的文件
4、lsof -c -p 1234:列出进程号为1234的进程所打开的文件
5、lsof -g gid:显示归属gid的进程情况
6、lsof +d /usr/local/:显示目录下被进程开启的文件
7、lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
8、lsof -d 4:显示使用fd为4的进程
9、lsof -i -U:显示所有打开的端口和UNIX domain文件
二、更多netstat命令
1、netstat -ntlp //查看当前所有tcp端口
2、netstat -ntulp | grep 80 //查看所有80端口使用情况
3、netstat -ntulp | grep 3306 //查看所有3306端口使用情况
三、关闭端口
1、在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:
kill -9 PID
2、如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:
kill -9 26993
我想问问linux查看端口占用的方法
使用lsof命令:lsof-i:port_number|grep(LISTEN);-i是用来查找和网络相关的文件,:号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要查找是否有程序占用了oracle的监听端口1521,就可以使用lsof-i:1521|grep(LISTEN)。如果有程序已经占用了,那么下面打印的第二个字段就是该程序的进程id,第一个字段是进程的名字。
更多关于linux查看端口占用的方法,进入:查看更多内容
Linux 命令神器:lsof
lsof是系统管理/安全的管理工具。将这个工具称之为lsof真实名副其实,因为它是指“ 列出打开文件(lists openfiles) ”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。
有趣的是,lsof也是有着最多开关的Linux/Unix命令之一。它有那么多的开关,它有许多选项支持使用-和+前缀。
正如你所见,lsof有着实在是令人惊讶的选项数量。你可以使用它来获得你系统上设备的信息,你能通过它了解到指定的用户在指定的地点正在碰什么东西,或者甚至是一个进程正在使用什么文件或网络连接。
对于我,lsof替代了netstat和ps的全部工作。它可以带来那些工具所能带来的一切,而且要比那些工具多得多。那么,让我们来看看它的一些基本能力吧:
理解一些关于lsof如何工作的关键性东西是很重要的。最重要的是,当你给它传递选项时,默认行为是对结果进行“或”运算。因此,如果你正是用-i来拉出一个端口列表,同时又用-p来拉出一个进程列表,那么默认情况下你会获得两者的结果。
下面的一些其它东西需要牢记:
正如我所说的,我主要将lsof用于获取关于系统怎么和网络交互的信息。这里提供了关于此信息的一些主题:
有些人喜欢用netstat来获取网络连接,但是我更喜欢使用lsof来进行此项工作。结果以对我来说很直观的方式呈现,我仅仅只需改变我的语法,就可以通过同样的命令来获取更多信息。
语法: lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
你也可以通过在-i后提供对应的协议来仅仅显示TCP或者UDP连接信息。
或者,你也可以通过端口搜索,这对于要找出什么阻止了另外一个应用绑定到指定端口实在是太棒了。
这对于你在检查是否开放连接到网络中或互联网上某个指定主机的连接时十分有用。
你也可以组合主机与端口的显示信息。
找出正等候连接的端口。
你也可以grep “LISTEN”来完成该任务。
你也可以显示任何已经连接的连接。
你也可以通过grep搜索“ESTABLISHED”来完成该任务。
你也可以获取各种用户的信息,以及它们在系统上正干着的事情,包括它们的网络活动、对文件的操作等。
可以消灭指定用户运行的所有东西,这真不错。
可以查看指定程序或进程由什么启动,这通常会很有用,而你可以使用lsof通过名称或进程ID过滤来完成这个任务。下面列出了一些选项:
通过查看指定文件或目录,你可以看到系统上所有正与其交互的资源——包括用户、进程等。
与tcpdump类似,当你开始组合查询时,它就显示了它强大的功能。
这通常(当不总是)表示某个攻击者正尝试通过删除文件入口来隐藏文件内容。
本入门教程只是管窥了lsof功能的一斑,要查看完整参考,运行man lsof命令或查看在线版本。
我总结一下lsof指令的用法:
lsof abc.txt 显示开启文件abc.txt的进程
lsof -i :22 知道22端口现在运行什么程序
lsof -c abc 显示abc进程现在打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /usr/local/ 显示目录下被进程开启的文件
lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
lsof -d 4 显示使用fd为4的进程
lsof -i 用以显示符合条件的进程情况
lsof -p 12 看进程号为12的进程打开了哪些文件
lsof +|-r [t] 控制lsof不断重复执行,缺省是15s刷新
-r,lsof会永远不断的执行,直到收到中断信号
+r,lsof会一直执行,直到没有档案被显示
当前名称:linux命令losf,linux命令long
转载注明:http://myzitong.com/article/dscpieh.html