在对网络连接或特定于应用程序的问题进行故障排除时,首先要检查的是系统上实际使用的端口以及在特定端口上侦听的应用程序。
网络端口由其编号、相关的IP地址和通信协议类型(如TCP或UDP)标识。最重要的是,开放端口是应用程序或进程侦听的网络端口,充当通信端点。
可以使用防火墙打开或关闭(过滤)每个侦听端口。一般来说,开放端口是接受来自远程位置的传入数据包的网络端口。
使用netstat检查开放端口
Netstat(网络统计信息)是一个命令行工具,用于监视传入和传出网络连接,查看路由表、接口统计信息等。对于Linux网络管理员和系统管理员来说,此工具是必不可少的,非常有价值,可以监视和解决其网络相关问题,并确定网络流量性能。
要列出正在侦听的所有TCP或UDP端口,包括使用这些端口的服务和套接字状态,请使用以下命令:
$sudo netstat-tulnp
活动的Internet连接(仅限服务器)
Proto Recv-Q Send-Q本地地址外部地址状态PID/程序名称
tcp 0 127.0.0.1:10024 0.0.0.0:*列出24919/amavisd
tcp 0 0.0.0.0:587 0.0.0.0:*LISTEN 967/master
tcp 0 0 0.0.0.0:8080 0.0.0.0:*LISTEN 800/tinyproxy
tcp 0 0.0.0.0:465 0.0.0.0:*LISTEN 967/master
tcp 0 0.0.0.0:21 0.0.0.0:*LISTEN 844/纯ftpd
tcp 0 0.0.0.0:22 0.0.0.0:*列出768/sshd
tcp 0 0.0.0.0:25 0.0.0.0:*LISTEN 967/master
tcp 0 0 0.0.0.0:993 0.0.0.0:*LISTEN 1001/dovecot
tcp6 0 0::3306::*LISTEN 823/mysqld
tcp6 0 0::1:783:::*收听24911/spamd.pid-d
tcp6 0 0:::80::*LISTEN 781/httpd
tcp6 0 0::21::*LISTEN 844/纯ftpd
tcp6 0 0:::22::*列出768/sshd
tcp6 0 0:::25::*LISTEN 967/master
tcp6 0 0::993::*LISTEN 1001/dovecot
tcp6 0 0:::995:::*LISTEN 1001/dovecot
udp 0 0.0.0.0:47967 0.0.0.0:*460/avahi守护进程:r
udp 0 127.0.0.1:123 0.0.0.0:*472/ntpd
udp 0 0.0.0.0:123 0.0.0.0:*472/ntpd
udp6 0 0:::123::*472/ntpd
此命令中使用的选项具有以下含义:
-t
:显示TCP端口。
u
:显示UDP端口。
-l
:仅显示侦听端口。
n
:显示数字地址,而不是解析主机。
:显示侦听器进程的PID和名称。只有当您以root或sudo用户的身份运行命令时,才会显示此信息。
在我们的案例中,重要的列是:
- Proto–套接字使用的协议。
- 本地地址–进程侦听的IP地址和端口号。
- PID/Program name–PID和进程的名称。
此外,如果要筛选结果,请使用
grep
命令。例如,要查找TCP端口22上侦听的进程,您需要键入:
$sudo netstat-tulnp|grep:22
tcp 0 0.0.0.0:22 0.0.0.0:*列出768/sshd
tcp6 0 0:::22::*列出768/sshd
如果输出为空,则端口上没有任何内容在侦听。有关
netstat
命令,请参阅其手册页。
使用lsof检查开放端口
Lsof,意思是‘
LiSt打开的文件
,'用于找出哪个进程打开了哪些文件。在Linux中,一切都是一个文件。您可以将套接字视为写入网络的文件。
要获取lsof类型的所有侦听TCP端口的列表,请执行以下操作:
$sudo lsof-nP-iTCP-sTCP:听
命令PID用户FD类型设备大小/OFF节点名称
sshd 768根3u IPv4 16112 0t0 TCP*:22(列表)
sshd 768根4u IPv6 16114 0t0 TCP*:22(列表)
httpd 781根4u IPv6 16328 0t0 TCP*:80(列表)
httpd 781根6u IPv6 16336 0t0 TCP*:443(LISTEN)
tinyproxy 800 tinyproxy 0u IPv4 16750 0t0 TCP*:8080(列表)
tinyproxy 805 tinyproxy 0u IPv4 16750 0t0 TCP*:8080(列表)
mysqld 823 mysql 20u IPv6 17479 0t0 TCP*:3306(LISTEN)
纯ftpd 844根4u IPv4 16289 0t0 TCP*:21(LISTEN)
纯ftpd 844根5u IPv6 16290 0t0 TCP*:21(LISTEN)
master 967 root 13u IPv4 17225 0t0 TCP*:25(LISTEN)
master 967 root 103u IPv4 17319 0t0 TCP 127.0.0.1:10025(LISTEN)
dovecot 1001根24u IPv4 18600 0t0 TCP*:995(列表)
dovecot 1001根37u IPv6 18623 0t0 TCP*:993(LISTEN)
httpd 24344 apache 4u IPv6 16328 0t0 TCP*:80(列表)
httpd 24344 apache 6u IPv6 16336 0t0 TCP*:443(LISTEN)
/usr/bin/24911 root 5u IPv4 25208447 0t0 TCP 127.0.0.1:783(LISTEN)
/usr/bin/24911 root 6u IPv6 25208449 0t0 TCP[::1]:783(LISTEN)
垃圾邮件24913根5u IPv4 25208447 0t0 TCP 127.0.0.1:783(列表)
垃圾邮件24913根6u IPv6 25208449 0t0 TCP[::1]:783(列表)
/usr/sbin 24919 amavis 5u IPv4 25208583 0t0 TCP 127.0.0.1:10024(LISTEN)
/usr/sbin 24919 amavis 6u IPv6 25208584 0t0 TCP[::1]:10024(LISTEN)
smtpd 28403 postfix 6u IPv4 17225 0t0 TCP*:25(列表)
smtpd 28403 postfix 7u IPv6 17226 0t0 TCP*:25(列表)
所使用的选项如下:
n
:不要将端口号转换为端口名。
P
:不解析主机名,显示数字地址。
-iTCP-sTCP:听
:仅显示TCP状态为LISTEN的网络文件。
要查找在特定端口(例如端口3306)上侦听的进程,您可以使用:
$sudo lsof-nP-iTCP:3306-sTCP:LISTEN
命令PID用户FD类型设备大小/OFF节点名称
mysqld 823 mysql 20u IPv6 17479 0t0 TCP*:3306(LISTEN)
输出显示MySQL服务器使用端口3306。
了解更多关于
lsof
命令,请参阅其手册页。
使用nmap检查开放端口
Nmap,或
网络映射器
,是一个用于网络探索和安全审计的开源Linux命令行工具。使用nmap,服务器管理员可以快速显示主机和服务,搜索安全问题,并扫描打开的端口。
这个
扫描器
命令可用于检查单个端口或一系列端口是否打开。
以下是如何扫描目标系统上的端口80:
$sudo nmap-p 80 192.168.0.1
192.168.0.1的Nmap扫描报告
主机已启动(0.000073s延迟)。
港口国服务
80/tcp开放http
Nmap完成:0.26秒内扫描1个IP地址(1个主机启动)
扫描目标系统上的端口1到200:
$sudo nmap-p 1-200 192.168.0.1
启动Nmap
6.40
(http:
//nmap.org)于2020-08-21 16:42 EEST
Nmap扫描报告
对于
192.168
.0
1.
主机已启动(
0.0000080
s延迟)。
未显示:
196
封闭端口
港口国服务
21
/tcp开放ftp
22
/tcp开放ssh
25
/tcp开放smtp
80
/tcp开放http
Nmap完成:
1.
IP地址(
1.
主机启动)扫描
在里面
1.45
秒
代码语言:
JavaScript
(
javascript
)
扫描(快速)最常见的端口:
$sudo nmap-F 192.168.0.1
启动Nmap
6.40
(http:
//nmap.org)于2020-08-21 16:44 EEST
Nmap扫描报告
对于
192.168
.0
1.
主机已启动(
0.000014
s延迟)。
未显示:
89
封闭端口
港口国服务
21
/tcp开放ftp
22
/tcp开放ssh
25
/tcp开放smtp
80
/tcp开放http
443
/tcp开放https
465
/tcp开放式smtps
587
/tcp开放提交
993
/tcp开放imaps
995
/tcp开放式pop3
3306
/tcp开放式mysql
8080
/tcp开放http代理
Nmap完成:
1.
IP地址(
1.
主机启动)扫描
在里面
1.46
秒
代码语言:
JavaScript
(
javascript
)
要旨
总之,检查哪些端口是打开的,以及可以从接受这些端口上连接的服务中获得哪些信息,可以为您提供锁定服务器所需的信息。
例如,恶意用户可能会利用机器泄露的任何无关信息来利用已知漏洞或开发新的漏洞。他们想得越少越好。
相关推荐
即使在复杂的现代桌面环境中塞满了管理工具、实用程序和生产力软件,所有这些都具有吸引人的图形用户界面,一些任务仍然可以通过命令行最好地完成。 终端模拟器允许您使用桌面上命令行的功能。此外,终端窗口还提供对控制台及其应用程序的访问,如命令行界面(CLI)和文本用户界面软件。 什么是Kitty GPU加速终端模拟器 Kitty是一款GPU驱动的终端模拟器 它使用OpenGL进行处理并在多个平台上运行。这
1989年,第一个被称为CERN httpd的网络服务器被创建用于交换信息和一个名为WorldWideWeb的浏览器。到1990年底,第一个网页在开放的互联网上提供,1991年,CERN以外的人被邀请加入这个新的网络社区。 随着人们开始意识到通过现在的互联网传输数据的有效性,多种操作系统开始发展,所有人都可以使用计算机交换数据。 如果你运行一个网站,了解什么是网络服务器、它的功能以及它在向网站访问
当你正在召开重要会议或录制播客时,你的MacBook拒绝接收你的声音,这是非常令人沮丧的。无论是软件缺陷还是需要调整的简单设置,我们都能满足您的需求。 当天的视频 滚动以继续浏览内容 1. 使用声音输入设置测试麦克风 测试MacBook的麦克风,看看它是否工作正常,排除任何硬件问题,总是一个不错的决定。以下是你需要做的: 单击 苹果菜单 在菜单栏中,选择 系统设置 从下拉菜单中。 选择 声音 从侧
写日记是通过手写或虚拟笔记本和日记来记录你个人的想法、感受和情绪的行为。 许多人为了心理健康的好处而写日记。记录你的感受可能能够减少精神上的痛苦,这对那些应对焦虑的人来说是很受鼓励的。 音频日志是最近引入的一种日志形式,所以让我们来看看可用的最好的音频日志应用程序。 1.使之消失 关 Encodify允许您进行简单的音频录制。它建议每天录制5分钟的录音,帮助你在你的想法开始迷失之前捕捉你情绪的本质
即将推出的Plasma 6桌面环境将于2月28日发布,预计将成为其发展过程中的一个革命性里程碑,通过先进功能和现代界面改变用户体验。 新版本有望带来许多创新和改进,如可靠的Wayland支持、改进的面板、对HDR游戏的支持、改进后的Discover应用程序、新的任务切换程序以及其他功能和美学增强。 为了保证桌面环境的成功推出并确保其短期财务稳定,开发商去年9月向社区申请了资金支持。他们的目标是50
回到顶部