与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中如何检查开放端口场景一:了解系统开放的端口,和正在使用的端口 , 在各种情况下都会有所帮助 。
比如:如果你的服务器正在运行着 Nginx,那么其端口应该为80或者443,可以检查一下 。再比如你可以检查一下 SMTP、SSH或者其他服务用的是哪个端口 。当有新的服务需要开放端口的时候,你需要知道目前已经被占用的,都有哪些端口 。
此外,可以检查一下是否有开放的可用于入侵检测的端口 。
Linux 中有多种检查端口的方法,本文将介绍两种 。
使用 lsof 检查当前系统开放的端口
不管你是直接登录的系统 , 还是使用 ssh 连接的,都可以使用 lsof 命令来检查端口:
该命令用于查找用户使用的文件和进程 。上述命令中的选项 , 包括:
但是,这也会展示许多计算机并没有监听的其他端口 。
我们可以通过管道将此输出传输到 grep , 并匹配模式 “LISTEN”,如下所示:
这样就只显示计算机正在监听的 , 以及正在运行的服务器所占用的端口 。
使用 netcat 命令检查远程服务器上的端口
nc(Netcat) 是一个命令行实用程序,使用TCP和UDP协议在网络计算机之间读取和写入数据 。
以下是nc命令的语法:
这个工具有一个很实用的 -z 选项,它会让 nc 命令扫描正在监听的守护进程,但是不会向端口发送任何数据 。
将其与 -v 选项结合 , 启动详细信息,会有详细信息的输出 。
losf与nc的不同点:
lsof命令简介
lsof 命令用于显示 Linux 系统当前已打开的所有文件列表 。查看进程或系统打开的文件会给调试带来极大的帮助 。下面简单地介绍 lsof 常使用的功能 。
lsof (list open files)命令用于查看你进程打开的文件 , 打开文件的进程,进程打开的端口(TCP、UDP),还可以用于找回/恢复被删除的文件 。lsof 命令需要访问核心内存和各种文件,所以需要具备 root 超级管理员权限的用户才能执行此命令 。
linux的nc命令 , NetCat,在网络工具中有“瑞士军刀”美誉“,是解决这个问题的工具 。nc命令安装: yum install nc
以上是看来一些文章的总结分享内容,欢迎补充讨论 。
Linux如何查询哪些端口被占用前言
如何确定端口是否在Linux或类unix系统下占用?怎么检查哪些端口正在Linux服务器上被占用?Linux系统如何使用命令行检查端口是否已经在占用?
查询哪些端口正在服务器的网络接口上被占用是非常重要的工作 。您需要查询打开端口以检测入侵 。除了入侵之外,出于故障排除的目的,可能有必要检查服务器上的其他应用程序是否已经使用了某个端口 。例如,您可以在同一系统上安装Apache和Nginx服务器 。因此,有必要了解Apache或Nginx是否使用TCP端口80或443 。本教程提供了使用netstat、nmap和lsof命令查询正在使用的端口并查看正在使用该端口的应用程序的步骤 。
- 如何使用cmd命令行提示符登录mysql服务器 cmd中登陆mysql
- mysql怎么把两个字段拼在一起 mysql字段拼接中文
- mysql中ext
- mongodb数据丢失原因 为什么mongodb数据库一直在加载中
- mysql中删除记录的命令 mysql删除中继日志
- redis linux安装包 linux下redis包
- redis怎么获取list的值 redis中存取list
- redis事务实现原理 在事务中使用redis
- java查询数组中是否包含某一个值 javamongodb数组查询
- mysql 游标遍历 mysql游标取多变量
