常见端口及安全测试

在渗透测试中,端口扫描是一个非常重要的环节,端口扫描的目的是了解服务器上运行的服务信息,针对不同的端口进行不同的安全测试,本文的主要内容是关于常见端口安全隐患以及测试方法。

DNS(53)UDP

DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。

测试内容

  • 配置漏洞之DNS域传送
  • 针对dns的拒绝服务攻击
  • 枚举二级域名,泄漏域名信息
  • 针对不同版本的dns服务器外部公开的漏洞,可以在各大漏洞数据库查询。
相关工具

常见工具:dnsenum、 nslookup、 dig、fierce

使用namp脚本:nmap -Pn -sU -p53 --script dns* -v

SMTP (25) TCP

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。

测试内容

  • 邮件欺骗,转发垃圾邮件
  • 使用VRFY枚举用户列表
  • 针对不同版本的邮件服务器外部公开的漏洞,可以在各大漏洞数据库查询。
相关工具

使用namp脚本:nmap -Pn -sS -p25 --script smtp* -v

SNMP (161) UDP

简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。

测试内容

  • 默认社区字符串
  • 枚举MIB
相关工具

常见工具:snmpwalk、snmpenum.pl

SSH (22) TCP

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议

测试内容

  • 暴力破解
  • 根据不同版本的ssh服务器版本以及公开的exp进行测试
相关工具

爆破工具:hydra、medusa

nmap脚本:nmap -Pn -sS -p22 --script ssh* -v

连接工具:putty、winscp

SMB (445,137,139) TCP

SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。

测试内容

  • 网络公开的针对smb协议的漏洞利用
相关工具

msf(auxiliary/scanner/smb/smb_version)

nmap脚本:smb-check-vulns

FTP (21) TCP

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。

测试内容

  • 默认用户密码:anonymous:anonymous
  • 暴力破解帐号密码
  • 根据不同版本的ftp服务器版本以及公开的exp进行测试
相关工具

爆破工具:hydra、medusa

nmap脚本:nmap -Pn -sS -p21 --script ftp* -v

Telnet (23) TCP

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。

测试内容

  • 暴力破解帐号密码
  • 根据不同版本的telnet服务版本以及公开的exp进行测试
相关工具

nmap脚本:telnet-brute.nse、telnet-encryption.nse、telnet-ntlm-info.nse

TFTP (69) UDP

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。

测试内容

  • 爆破帐号密码
  • 未授权访问
  • 根据不同版本的tftp服务版本以及公开的exp进行测试
相关工具

nmap脚本:tftp-enum.nse

RPC (111) TCP/UDP

RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

测试内容

  • 根据不同版本的RPC协议版本以及公开的exp进行测试
  • 枚举rpc信息
相关工具

nmap脚本:bitcoinrpc-info.nse、metasploit-msgrpc-brute.nse、metasploit-xmlrpc-brute.nse、msrpc-enum.nse、nessus-xmlrpc-brute.nse、rpcap-brute.nse、rpcap-info.nse、rpc-grind.nse、rpcinfo.nse、xmlrpc-methods.nse

NTP (123) UDP

NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。

相关工具

nmap脚本:nmap -Pn -sS -p21 --script ntp* -v

HTTP/HTTPs (443,80,8080,8443) TCP

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。这个协议是我们使用最多的协议,针对它的攻击方式以及测试内容非常多这里就不提了。

mssql (1433) TCP

ms SQL是指微软的SQLServer数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。

测试内容

  • 暴力破解
相关工具

爆破工具:hydra

nmap脚本: ms-sql-brute.nse、ms-sql-config.nse、ms-sql-dac.nse、ms-sql-dump-hashes.nse、ms-sql-empty-password.nse、ms-sql-hasdbaccess.nse、ms-sql-info.nse、ms-sql-ntlm-info.nse、ms-sql-query.nse、ms-sql-tables.nse、ms-sql-xp-cmdshell.nse

mysql (3306) TCP

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

测试内容

  • 暴力破解
相关工具

爆破工具:hydra

Oracle (1521) TCP

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。

测试内容

  • 暴力破解
  • 枚举数据库信息
相关工具

枚举工具:Tnsver、Tnscmd

nmap脚本:oracle-brute.nse、oracle-brute-stealth.nse、oracle-enum-users.nse、oracle-sid-brute.nse、oracle-tns-version.nse

RDP (3389) TCP

远程桌面协议(RDP, Remote Desktop Protocol)是一个多通道(multi-channel)的协议,让用户(客户端或称“本地电脑”)连上提供微软终端机服务的电脑(服务器端或称“远程电脑”)。

测试内容

  • 爆破用户密码
  • 根据网络公开的漏洞exp进行测试
相关工具

nmap脚本:rdp-enum-encryption.nse、rdp-vuln-ms12-020.nse

SIP (5060)

SIP(Session Initiation Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议。

相关工具

Sipflanker、Sipscan

<think> 首先,用户的问题是关于常见端口的信息以及如何对其进行排查。用户提供了几个引用,我需要参考这些引用,但这些引用并不是用户真正的需求,而是用于参考。我必须基于用户的问题来回答,用户说:“我想查找常见端口的信息以及如何对其进行排查 请问常见端口信息及排查方法”。 我的回答必须: - 使用中文。 - 结构清晰,帮助用户逐步解决问题。 - 保证回答真实可靠。 - 对于行内数学表达式,使用$...$格式。 - 对于独立公式,使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 用户提供的引用: - [^1]: 关于Kubernetes服务端口故障排查,使用telnet检查端口。 - [^2]: 关于netstat命令,显示网络端口信息。 - [^3]: 关于netstat查看端口占用情况。 - [^4]: 关于Linux运维命令,包括重启网络等。 这些引用涉及端口排查的工具和方法,如telnet、netstat等。用户的核心问题是“常见端口信息及排查方法”,所以我需要提供常见端口的列表和排查步骤。 常见端口信息: - HTTP: 80 - HTTPS: 443 - SSH: 22 - FTP: 21 - DNS: 53 - SMTP: 25 - POP3: 110 - IMAP: 143 - MySQL: 3306 - PostgreSQL: 5432 - 等等。列出最常见的几个即可。 排查方法: 基于引用: - 使用telnet检查端口是否开放:[^1] - 使用netstat查看端口占用情况:[^2], [^3] - 其他命令如nmap、lsof等(虽然引用中没提到,但作为真实可靠,我可以添加)。 - 重启网络服务:[^4] 回答结构: 1. **介绍常见端口**:列出一些常见端口及其用途,用表格或列表形式。 2. **端口排查方法**:逐步解释如何使用工具排查端口问题。 3. **生成相关问题**:在最后添加相关问题。 在回答中,引用相关部分时添加引用标识。例如,当我提到使用telnet时,添加[^1]。 确保LaTeX正确:端口号是数字,不需要数学表达式。但如果有数学部分,如计算,使用$...$。这里可能不涉及数学,所以可能不需要。 生成相关问题: - 类似于示例,添加3-5个相关问题,用“§§相关问题§§”开头。 完整回答结构: - 开头:简要介绍端口和排查的重要性。 - 常见端口列表:用中文描述。 - 排查方法:逐步说明,包括命令示例。 - 结尾:总结。 - 相关问题。 引用添加: - 当引用具体内容时,如“使用telnet检查端口”,添加[^1]。 - 类似地,对于netstat,添加[^2]或[^3]。 用户引用[^3]是netstat的输出示例,我可以引用它。 最终输出: - 用户可见层:结构清晰的回答。 - 末尾:相关问题。 </think> ### 常见端口信息及排查方法 在网络管理和故障排查中,了解常见端口及其用途是关键。端口是计算机网络中应用程序通信的“门户”,每个端口号对应特定服务。以下是常见端口的信息及排查方法,帮助您快速诊断问题。 #### 一、常见端口信息 以下是网络中最常用的端口及其用途(基于标准IANA端口分配): | 端口号 | 协议 | 用途描述 | |--------|------------|--------------------------------------------------------------------------| | 22 | TCP | SSH(安全外壳协议),用于远程登录和安全文件传输[^3]。 | | 80 | TCP | HTTP(超文本传输协议),用于网页浏览服务[^1]。 | | 443 | TCP | HTTPS(安全HTTP),用于加密的网页服务。 | | 53 | UDP/TCP | DNS(域名系统),用于域名解析[^4]。 | | 21 | TCP | FTP(文件传输协议),用于文件上传下载。 | | 25 | TCP | SMTP(简单邮件传输协议),用于发送邮件。 | | 110 | TCP | POP3(邮局协议版本3),用于接收邮件。 | | 3306 | TCP | MySQL数据库服务端口。 | | 5432 | TCP | PostgreSQL数据库服务端口。 | | 8080 | TCP | HTTP备用端口,常用于代理或测试环境。 | 这些端口是网络服务的基础,故障时需优先检查。例如,端口80不可用会导致网站无法访问。 #### 二、端口排查方法 当端口出现问题时(如服务不可达或占用异常),可通过以下步骤逐步排查。工具包括`telnet`、`netstat`、`nmap`等(引用中提供了部分命令示例)。 1. **检查端口是否开放(连接测试)** 使用`telnet`命令测试远程端口的连通性。这模拟客户端连接,确认端口是否响应。 示例:测试HTTP端口80是否开放。 ```bash telnet 目标IP 80 # 例如:telnet 10.68.247.194 80 ``` 如果显示`Connected`,表示端口可用;若为`Connection refused`,则服务未运行或防火墙阻塞[^1]。 2. **查看本地端口占用情况** 使用`netstat`命令列出所有活动端口,识别占用进程。关键参数: - `-tunlp`:显示TCP/UDP端口、监听状态和进程信息。 - `-a`:显示所有连接。 示例:查看所有监听中的端口。 ```bash netstat -tunlp | grep LISTEN ``` 输出类似: ``` tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5278/sshd tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 44868/nginx ``` 这里显示端口22被SSH服务占用,端口80被Nginx占用。如果端口被意外进程占用,可据此终止进程(如`kill -9 PID`)[^2][^3]。 3. **检查网络配置和路由** 端口问题可能源于网络设置。使用命令: - `netstat -r`:查看路由表,确认数据包路径正确。 - `nmap 目标IP`:扫描目标IP的所有开放端口(需安装`nmap`)。 示例:扫描本地网络。 ```bash nmap 192.168.1.1 ``` 如果路由异常,重启网络服务: ```bash sudo service network-manager restart # 重启网络管理器[^4] ``` 4. **防火墙和SELinux检查** 防火墙可能阻止端口访问。常用命令: - `iptables -L`:列出防火墙规则。 - `getenforce`:检查SELinux状态(若为`Enforcing`,可能需调整策略)。 示例:临时开放端口80。 ```bash sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT ``` 5. **服务日志分析** 检查服务日志确认错误。例如,查看SSH日志: ```bash journalctl -u sshd # 或 tail -f /var/log/auth.log ``` 日志中报错如`bind: address already in use`表示端口冲突。 **排查步骤总结**: 1. 测试连通性(`telnet`)→ 2. 检查占用(`netstat`)→ 3. 验证网络(`nmap`/路由)→ 4. 审查防火墙→ 5. 分析日志。 多数问题可通过前两步解决,例如`telnet`失败但`netstat`显示端口监听,提示防火墙问题[^1][^2]。 #### 三、注意事项 - **安全建议**:非必要端口应关闭,减少攻击面。 - **工具安装**:若命令缺失,用包管理器安装(如`yum install telnet nmap`)。 - **真实可靠性**:以上方法基于Linux标准工具,适用于CentOS、Ubuntu等发行版。 通过此方法,您能高效定位端口故障,如服务不可用、冲突或性能瓶颈。如需深入,可结合网络抓包工具如`tcpdump`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值