文章目录
- 1、端口的基本概念
- 2、端口的常见分类
- 3、端口扫描原理
1、端口的基本概念
- “端口” 在计算机网络领域中是个非常重要的概念
- 它是专门为计算机通信而设计的,它不是硬件,不同于计算机中的“插槽”,可以说是个“软端口”
- 端口是由计算机的通信协议TCP/IP 协议定义的
- 其中规定,用IP地址和端口作为套接字,它代表TCP连接的一个连接端,一般称为Socket
- 具体来说,就是用[IP:端口]来定位一台主机中的进程
- 端口相当于两台计算机进程间的大门,可以任意定义,其目的只是为了让两台计算机能够找到对方的进程
- 计算机就像一座大楼,这个大楼有好多入口(端口),进到不同的入口中就可以找到不同的公司(进程)
- 如果要和远程主机A的程序的程序通信,那么只要把数据发向[A:端口]就可以实现通信了
- 可见,端口与进程是一一对应的,如果某个进程正在等待连接,称之为该进程正在监听,那么就会出现与它相对应的端口
- 由此可见,入侵者通过扫描端口,便可以判断出目标计算机有哪些通信进程正在等待连续。
2、端口的常见分类
- 端口是一个16bit的地址,用端口号进行标识不同作用的端口号
- 端口一般分为两类:
①熟知端口号(公认端口号):
由因特网指派名字和号码公司ICANN负责分配给一些常用的应用程序固定使用的熟知端口,其值一般为0~1023②一般端口号:
用来随时分配给请求通信的客户进程。
3、端口扫描原理
- 端口扫描是入侵者搜集信息的常用手法,通过端口扫描,能够判断出目标主机开放了哪些服务、运行哪种操作系统,为下一步的入侵做好准备
- 端口扫描尝试与目标主机的某些端口建立TCP连接,如果目标主机端口有回复,则说明该端口开放,即为“活动端口”
-
一般端口扫描方式分类
-
全连接扫描(Connect扫描)
全TCP连接——这种扫描方法使用三次握手,与目标计算机建立标准的TCP连接。
这种方法容易被目标主机记录,但获取的信息比较详细。
- 半连接扫描(SYN扫描)
半连接扫描(SYN扫描)——扫描主机自动向目标计算机的指定端口发送SYN数据段,表示发送建立连接请求
由于扫描过程中,全连接尚未建立,所以大大降低了被目标计算机记录的可能,并且加快了扫描速度
若目标计算机的回应TCP报文中SYN=1,ACK=1,则说明该端口是活动的,
接下来扫描主机发送一个RST给目标计算机,拒绝建立TCP连接,从而导致三次握手的失败。
若目标计算机的回应是 RST,则表示该端口不是活动端口。这种情况下,扫描
主机不用作任何回应。
- 隐蔽扫描(FIN扫描)
FIN扫描——依靠发送FIN字段来判断目标计算机的指定端口是否活动
发送一个FIN=1的TCP报文到一个关闭的端口时,该报文会被丢掉,并返回一个RST报文
如果当FIN 报文到一个活动端口时,该报文只是简单地丢弃,不会返回任何回应
从中可以看出FIN扫描没有涉及任何TCP连接部分,因此,这种扫描比前两种都安全
- 第三方扫描(代理扫描)
这种扫描是利用第三方主机来代替入侵者进行扫描
第三方主机一般是入侵者通过入侵其他计算机而得到的,该主机又被称为“肉鸡”,是安全防御系数极低的个人计算机文章来源:https://uudwc.com/A/061e
文章来源地址https://uudwc.com/A/061e