博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络安全系列之二十八 端口扫描
阅读量:6655 次
发布时间:2019-06-25

本文共 925 字,大约阅读时间需要 3 分钟。

端口扫描在系统攻防中占据非常重要的地位,在了解端口扫描之前,有必要先了解一些TCP协议以及三次握手的相关知识。

1. TCP协议

TCP报文格式如下图所示:

其中比较重要的几个字段:

  • 复位比特RST:当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其它原因),必须释放连接,然后再重新建立连接。

  • 同步比特SYN:同步比特SYN置为1,就表示这是一个连接请求或连接接受报文。

  • 终止比特FIN:用来释放一个连接。当FIN=1时,表明此报文的发送端的数据已发送完毕,并要求释放连接。

TCP三次握手建立连接的过程:

 

2. 端口扫描类型

端口扫描就是尝试与目标主机的某些端口建立连接,如果目标主机该端口有回复,则说明端口开放,即为“活动端口”。通过端口扫描可以判断目标主机上开放了哪些服务,运行何种操作系统,以便使用相应的手段进行入侵。

根据扫描原理不同,端口扫描可以有以下分类:全TCP扫描、半开式扫描(SYN扫描)、FIN扫描。

(1)全TCP扫描

这种扫描方法使用三次握手,与目标计算机建立标准的TCP连接。但这种扫描方法很容易被目标主机记录。

(2)半开式扫描(SYN扫描)

在这种扫描方式中,扫描主机向目标计算机的指定端口发送SYN数据段,表示发送建立连接请求。

如果目标计算机的回应TCP报文中SYN=1,ACK=1,则说明该端口是活动的,接着扫描主机传送一个RST给目标主机,拒绝建立TCP连接,从而导致三次握手过程的失败。

如果目标计算机的回应是RST,则表示该端口是“死端口”,这种情况下,扫描主机不用做任何回应。

SYN扫描,由于扫描过程中全连接尚未建立,所以大大降低了被目标计算机记录的可能性,并且加快了扫描的速度。

(3)FIN扫描

当发送一个FIN=1的TCP报文到一个关闭的端口时,该报文会被丢掉,并返回一个RST报文。但是当发送FIN报文到一个活动的端口时,该报文只是简单的丢掉,不会返回任何回应。

FIN扫描没有涉及任何TCP连接部分,因此这种扫描比前两种都安全,可以称之为秘密扫描。

本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1574064

转载地址:http://fwato.baihongyu.com/

你可能感兴趣的文章
分布式服务协调员zookeeper - 应用场景和监控
查看>>
源码 安装步骤
查看>>
PMBOK中输入输出工具的规律
查看>>
Core Animation之CAKeyframeAnimation学习篇
查看>>
代码中weak, alias
查看>>
ios开发日志-button+UIAlertView
查看>>
盛最多的水 Container With Most Water
查看>>
类反射机制简单使用
查看>>
详解apt-get update和apt-get upgrade的好帖子
查看>>
【转载】MySQL 之临时表和内存表
查看>>
【原创】MySQL 之 slow log
查看>>
Linux基础 文本处理命令
查看>>
Flutter入门一:安装Windows开发环境
查看>>
MySQL Replication可扩展设计
查看>>
oracle 对象管理 05_系统函数
查看>>
Linux下Java运行环境安装
查看>>
lua 随机生成 中国大陆 ip
查看>>
三种实现页面跳转的方法
查看>>
Fuchsia 操作系统的四层结构
查看>>
Linux 4.21包含对AMD Rome处理器中新的Zen 2架构重要的新优化
查看>>