端口扫描接口_端口扫描技术详解图片

hacker|
122

什么是端口啊?

端口是指接口电路中的一些寄存器,这些寄存器分别用来存放数据信息、控制信息和状态信息,相应的端口分别称为数据端口、控制端口和状态端口。

端口可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。

物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。

"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。口是电子设备中很重要的一个功能,简单来说就是设备与外界通讯交流的出口,端口一般情况下分为虚拟端口和物理端口。

虚拟端口指计算机内部或交换机路由器内的端口,不可见。虚拟端口一般情况下就是网络端口,比如说TCP端口,UDP端口、某些指令端口,这些大家都是看不到的,只是虚拟意义上的端口。平时遇到比较多的都是物理端口,也可以叫做硬件端口,是可见端口,如:并行端口、串行端口等。

查看端口的方式

一台服务器有大量的端口在使用,怎么来查看端口呢?有两种方式:一种是利用系统内置的命令,一种是利用第三方端口扫描软件。

1、用“netstat /an”查看端口状态在Windows 2000/XP中,可以在命令提示符下使“netstat /an”查 看系统端口状态,可以列出系统正在开放的端口号及其状态.

2、用第三方端口扫描软件

第三方端口扫描软件有许多,界面虽然千差万别,但是功能却是类似 的。这里以“Fport” 为例讲解。“Fport”在命令提示符下使用,运行结果与“netstat -an”相似,但是它不仅能够列出正在使用的端口号及类型,还可以列出端口被哪个应用程序使用。

扩展资料:

端口分类

1、硬件端口

CPU通过接口寄存器或特定电路与外设进行数据传送,这些寄存器或特定电路称之为端口。其中硬件领域的端口又称接口,如:并行端口、串行端口等。

2、网络端口

在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们 这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。

3、软件端口

缓冲区。

参考资料:端口-百度百科

Python 实现端口扫描

一、常见端口扫描的原理

0、秘密扫描

秘密扫描是一种不被审计工具所检测的扫描技术。

它通常用于在通过普通的防火墙或路由器的筛选(filtering)时隐藏自己。

秘密扫描能躲避IDS、防火墙、包过滤器和日志审计,从而获取目标端口的开放或关闭的信息。由于没有包含TCP 3次握手协议的任何部分,所以无法被记录下来,比半连接扫描更为隐蔽。

但是这种扫描的缺点是扫描结果的不可靠性会增加,而且扫描主机也需要自己构造IP包。现有的秘密扫描有TCP FIN扫描、TCP ACK扫描、NULL扫描、XMAS扫描和SYN/ACK扫描等。

1、Connect()扫描

此扫描试图与每一个TCP端口进行“三次握手”通信。如果能够成功建立接连,则证明端口开发,否则为关闭。准确度很高,但是最容易被防火墙和IDS检测到,并且在目标主机的日志中会记录大量的连接请求以及错误信息。

TCP connect端口扫描服务端与客户端建立连接成功(目标端口开放)的过程:

① Client端发送SYN;

② Server端返回SYN/ACK,表明端口开放;

③ Client端返回ACK,表明连接已建立;

④ Client端主动断开连接。

建立连接成功(目标端口开放)

TCP connect端口扫描服务端与客户端未建立连接成功(目标端口关闭)过程:

① Client端发送SYN;

② Server端返回RST/ACK,表明端口未开放。

优点:实现简单,对操作者的权限没有严格要求(有些类型的端口扫描需要操作者具有root权限),系统中的任何用户都有权力使用这个调用,而且如果想要得到从目标端口返回banners信息,也只能采用这一方法。

另一优点是扫描速度快。如果对每个目标端口以线性的方式,使用单独的connect()调用,可以通过同时打开多个套接字,从而加速扫描。

缺点:是会在目标主机的日志记录中留下痕迹,易被发现,并且数据包会被过滤掉。目标主机的logs文件会显示一连串的连接和连接出错的服务信息,并且能很快地使它关闭。

2、SYN扫描

扫描器向目标主机的一个端口发送请求连接的SYN包,扫描器在收到SYN/ACK后,不是发送的ACK应答而是发送RST包请求断开连接。这样,三次握手就没有完成,无法建立正常的TCP连接,因此,这次扫描就不会被记录到系统日志中。这种扫描技术一般不会在目标主机上留下扫描痕迹。但是,这种扫描需要有root权限。

·端口开放:(1)Client发送SYN;(2)Server端发送SYN/ACK;(3)Client发送RST断开(只需要前两步就可以判断端口开放)

·端口关闭:(1)Client发送SYN;(2)Server端回复RST(表示端口关闭)

优点:SYN扫描要比TCP Connect()扫描隐蔽一些,SYN仅仅需要发送初始的SYN数据包给目标主机,如果端口开放,则相应SYN-ACK数据包;如果关闭,则响应RST数据包;

3、NULL扫描

反向扫描—-原理是将一个没有设置任何标志位的数据包发送给TCP端口,在正常的通信中至少要设置一个标志位,根据FRC 793的要求,在端口关闭的情况下,若收到一个没有设置标志位的数据字段,那么主机应该舍弃这个分段,并发送一个RST数据包,否则不会响应发起扫描的客户端计算机。也就是说,如果TCP端口处于关闭则响应一个RST数据包,若处于开放则无相应。但是应该知道理由NULL扫描要求所有的主机都符合RFC 793规定,但是windows系统主机不遵从RFC 793标准,且只要收到没有设置任何标志位的数据包时,不管端口是处于开放还是关闭都响应一个RST数据包。但是基于Unix(*nix,如Linux)遵从RFC 793标准,所以可以用NULL扫描。 经过上面的分析,我们知道NULL可以辨别某台主机运行的操作系统是什么操作系统。

端口开放:Client发送Null,server没有响应

端口关闭:(1)Client发送NUll;(2)Server回复RST

说明:Null扫描和前面的TCP Connect()和SYN的判断条件正好相反。在前两种扫描中,有响应数据包的表示端口开放,但在NUll扫描中,收到响应数据包表示端口关闭。反向扫描比前两种隐蔽性高些,当精确度也相对低一些。

用途:判断是否为Windows系统还是Linux。

4、FIN扫描

与NULL有点类似,只是FIN为指示TCP会话结束,在FIN扫描中一个设置了FIN位的数据包被发送后,若响应RST数据包,则表示端口关闭,没有响应则表示开放。此类扫描同样不能准确判断windows系统上端口开发情况。

·端口开放:发送FIN,没有响应

·端口关闭:(1)发送FIN;(2)回复RST

5、ACK扫描

扫描主机向目标主机发送ACK数据包。根据返回的RST数据包有两种方法可以得到端口的信息。方法一是: 若返回的RST数据包的TTL值小于或等于64,则端口开放,反之端口关闭。

6、Xmas-Tree扫描

通过发送带有下列标志位的tcp数据包。

·URG:指示数据时紧急数据,应立即处理。

·PSH:强制将数据压入缓冲区。

·FIN:在结束TCP会话时使用。

正常情况下,三个标志位不能被同时设置,但在此种扫描中可以用来判断哪些端口关闭还是开放,与上面的反向扫描情况相同,依然不能判断windows平台上的端口。

·端口开放:发送URG/PSH/FIN,没有响应

·端口关闭:(1)发送URG/PSH/FIN,没有响应;(2)响应RST

XMAS扫描原理和NULL扫描的类似,将TCP数据包中的ACK、FIN、RST、SYN、URG、PSH标志位置1后发送给目标主机。在目标端口开放的情况下,目标主机将不返回任何信息。

7、Dump扫描

也被称为Idle扫描或反向扫描,在扫描主机时应用了第三方僵尸计算机扫描。由僵尸主机向目标主机发送SYN包。目标主机端口开发时回应SYN|ACK,关闭时返回RST,僵尸主机对SYN|ACK回应RST,对RST不做回应。从僵尸主机上进行扫描时,进行的是一个从本地计算机到僵尸主机的、连续的ping操作。查看僵尸主机返回的Echo响应的ID字段,能确定目标主机上哪些端口是开放的还是关闭的。

二、Python 代码实现

1、利用Python的Socket包中的connect方法,直接对目标IP和端口进行连接并且尝试返回结果,而无需自己构建SYN包。

2、对IP端口进行多线程扫描,注意的是不同的电脑不同的CPU每次最多创建的线程是不一样的,如果创建过多可能会报错,需要根据自己电脑情况修改每次扫描的个数或者将seelp的时间加长都可以。

看完了吗?感觉动手操作一下把!

python学习网,免费的在线学习python平台,欢迎关注!

本文转自:

什么是端口的SYN(半连接)扫描技术

TCP

SYN

扫描是使用最为广泛的扫描方式,其原理就是像带扫描端口发送SYN

数据包,如果能够收到SYN+ACK

数据包,则代表此端口开放,如收到RST

数据包,则证明此端口关闭,如未收到任何数据包,且确定该主机存在,则证明该端口被防火墙等安全设备过滤。由于SYN

扫描并不会完成TCP

连接的三次握手过程,所以SYN

扫描又叫做半开放扫描。

SYN

扫描的最大优点就是速度,在Internet

上,如果不存在防火墙,SYN

扫描每秒钟可以扫描数千个端口,但是SYN

扫描由于其扫描行为较为明显,容易被入侵检测系统发现,也容易被防火墙屏蔽,且构造原始数据包需要较高系统权限。

端口扫描的基本原理

通过ping命令向需要扫描的端口发送报文 如果可以建立连接的话 被扫描的端口就会有回复报文 大致是这样吧

计算机网络安全的内容简介

机 械 工 业 出 版 社

本书围绕网络安全应用技术,由浅入深、循序渐进地介绍了计算机网络安全方面的知识,同时注重对学生的实际应用技能和动手能力的培养。全书共分9章,内容涵盖网络基础知识、计算机病毒、加密与数字签名技术、操作系统漏洞、防火墙技术、端口扫描技术、入侵检测以及无线局域网安全。本书内容丰富翔实,通俗易懂,以实例为中心,并结合大量的经验技巧。

本书既可作为各大高职高专院校计算机以及相关专业的教材,也可作为网络安全管理员指导用书。

前 言

计算机网络技术的迅猛发展以及网络系统应用的日益普及,给人们的生产方式、生活方式和思维方式带来极大的变化。但是,计算机网络系统是开放的系统,具有众多的不安全因素,如何保证网络中计算机和信息的安全是一个重要且复杂的问题。目前研究网络安全已经不仅仅只是为了信息和数据安全,它已经涉及国家发展的各个领域。

培养既掌握计算机网络的理论基础知识,又掌握计算机网络实际应用技能的人才,是网络教学工作者的责任。特别是对于大专院校计算机类专业的学生,更需要一本既具有一定的理论知识水平,又具有较强实际应用技术的教材。

本书以培养网络安全实用型人才为指导思想,在介绍具有一定深度的网络安全理论知识基础上,重点介绍网络安全应用技术,注重对学生的实际应用技能和动手能力的培养。

本书共分为9章,主要内容包括:计算机网络安全基础知识、网络安全威胁的特点、网络安全防护与安全策略的基础知识(第1章);

计算机网络协议的基础知识、网络协议对于网络安全体系结构、网络常用命令和协议分析工具(Sniffer)的使用方法(第2章);

计算机病毒的特性、计算机病毒的分类及传播途径、计算机病毒的检测和防御方法等基本操作技能(第3章);

加密算法的工作原理、数字签名技术的工作原理、公钥基础架构(PKI)、CA、数字证书的工作原理和相关概念、PGP工具软件的应用、SSL安全传输及安全Web站点的应用配置(第4章);

防火墙的功能、防火墙的实现技术、防火墙的工作模式和防火墙的实施方式(第5章);

Windows Server 2003操作系统的网络安全构成、账户策略、访问控制配置和安全模板的应用(第6章);

端口的概念、各种端口扫描技术的工作原理、常见端口扫描工具应用方法、防范端口扫描技术的应用(第7章);

入侵检测系统模型和工作过程、入侵检测系统分类和工作原理、基于主机的入侵检测系统和基于网络的入侵检测系统部署(第8章);

介绍无线局域网的构成、无线局域网络的标准和无线网络安全的实现方式(第9章)。

本书由鲁立、龚涛任主编,严学军、任琦任副主编,参加编写的还有武汉软件工程职业学院李安邦、宋焱宏、刘颂、张恒、刘媛媛、何水艳、周雯、李晓泉和武汉市中等职业艺术学校刘桢。万钢主审本书,并在编写过程中给予了指导和帮助。

由于计算机网络安全技术发展迅速,加之编者水平有限,书中不足之处在所难免,恳请广大读者提出宝贵意见。

0条大神的评论

发表评论