知道 正在使用哪些端口 系统上的管理员是任何管理员的基本任务。 从配置接口到入侵防护,再到我们可以想像的所有故障排除,我们必须能够检查端口是否在我们的环境中提供某种服务。
想象一下您在系统中安装了CUPS打印服务的情况,并且您不知道该服务是否已正确启动并提升了其对应的端口631或可选的515。在本指南中,我们将向您展示 三个基本命令来检测系统使用的端口 以及它的状态是什么。
接下来,我们将回顾3个基本命令,这些命令在任何系统的管理中特别有用。 是关于 lsof,netstat和nmap,我们将从终端控制台运行的实用程序,以及 具有root特权.
lsof命令
命令 的 是最基本的 我们有多少贷款给您,而作为Linux的本机,则是每个用户都应该知道的基础。 要知道通过此命令在系统中打开的端口,必须输入类似以下的序列,其中 它会向您显示各种信息 我们将突出显示的位置:应用程序的名称(例如sshd), 插座 程序的名称(在这种情况下,与端口10.86.128.138关联的IP地址22为LISTENING)和进程的标识符(为85379)。
$ sudo lsof -i -P -n $ sudo lsof -i -P -n | grep LISTEN

Netstat命令
命令 netstat命令 与上一版相比,其语法略有不同,但呈现出一些 参数更容易记住 多亏了一个简单的助记词。 从现在起不要忘记这个词 普托纳,指的是以下特征:
- p:显示指定协议的连接,可以是TCP或UDP。
- u:列出所有UDP端口。
- t:列出所有TCP端口。
- o:显示 定时器.
- n:显示端口号。
- a:显示系统中所有活动的连接。
因此,输入命令并使用 管 我们可以获得有关特定端口的信息。
$ netstat -putona | grep numero-de-puerto
Nmap命令
NMAP 这是一个实用程序,我们 允许执行大量扫描 在我们的系统中,其中之一是设备中的开放端口之一。 要执行它,我们必须引入一个类型的序列 nmap -sX -OY,将X分别表示用于TCP或UDP连接的T或U值,将Y表示我们计算机的IP地址(或简称localhost)。 看下面的例子。
</pre> $ sudo nmap -sU -O localhost $ sudo nmap -sT -O 192.168.0.1 <pre>
使用这三个应用程序,您已经拥有足够的工具来确定计算机的开放端口。 您是否使用相同的工具,或者您知道其他方法来验证系统的开放端口吗?
5条评论,留下您的评论
我一点都不明白。 正常,我不是专家,但很有趣🙂
您好,我如何查看通过端口到达的数据?
我有一个通过gprs将字符串发送给我的ubuntu端口10005的设备,并且我需要通过终端查看即将到来的字符串,请您支持我吗? 谢谢你。 slds
使用命令netstat -putona,我观察到地址127.0.0.1出现在两个协议tcp和upd中,在两种情况下均为端口53。这是否正常? 巧合的是,我在dnsmasq和zimbra桌面上遇到了一些问题,这些桌面在ubuntu 16.04中没有提升。
在尝试启动zimbra时,它向我显示:页面127.0.0.1拒绝了该连接。
感谢您在加入此社区方面的帮助。
挺好。
只需添加:使用ls可以知道进程的路径,还有其他命令(例如ss或fuser),通过它们我们可以查看哪个进程正在使用端口。
在这里看到: https://www.sysadmit.com/2018/06/linux-que-proceso-usa-un-puerto.html
很棒,很好的总结和解释,我不会忘记PUTONA呵呵。 ;-D