端口号扫描
时间:2022-04-21 14:59 | 分类: 句子大全 | 作者:Kali与编程 | 评论: 次 | 点击: 次
端口号扫描
1. 什么是端口扫描
一个端口就是一个潜在的通信通道,也就是一个入侵通道。
对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。
在手工进行扫描时,需要熟悉各种命令。对命令执行后的输出进行分析。
用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。 通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。
什么是扫描器 扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可一不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。 工作原理 扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑!) 扫描器能干什么 扫描器并不是一个直接的攻击网络漏洞的程序,它仅仅能帮助我们发现目标机的某些内在的弱点。
一个好的扫描器能对它得到的数据进行分析,帮助我们查找目标主机的漏洞。但它不会提供进入一个系统的详细步骤。
扫描器应该有三项功能:发现一个主机或网络的能力;一旦发现一台主机,有发现什么服务正运行在这台主机上的能力;通过测试这些服务,发现漏洞的能力。 编写扫描器程序必须要很多TCP/IP程序编写和C, Perl和或SHELL语言的知识。
需要一些Socket编程的背景,一种在开发客户/服务应用程序的方法。开发一个扫描器是一个雄心勃勃的项目,通常能使程序员感到很满意。
常用的端口扫描技术 TCP connect() 扫描 这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。
如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。
这个技术的一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。
另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。
使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且被过滤掉。
目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。 TCP SYN扫描 这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。
扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。一个SYN|ACK的返回信息表示端口处于侦听状态。
一个RST返回,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。
这种扫描技术的优点在于一般不会在目标计算机上留下记录。但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。
TCP FIN 扫描 有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。
相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。
另一方面,打开的端口会忽略对FIN数据包的回复。这种方法和系统的实现有一定的关系。
有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。并且这种方法在区分Unix和NT时,是十分有用的。
IP段扫描 这种不能算是新方法,只是其它技术的变化。它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。
这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。但必须小心。
一些程序在处理这些小数据包时会有些麻烦。 TCP 反向 ident扫描 ident 协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。
因此你能,举。
2. 端口扫描的工作原理
扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑. 端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关)。
端口扫描是计算机解密高手喜欢的一种方式。攻击者可以通过它了解到从哪里可探寻到攻击弱点。
实质上,端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。
扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。
3. 端口扫描的工作原理
扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑.
端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关)。端口扫描是计算机解密高手喜欢的一种方式。攻击者可以通过它了解到从哪里可探寻到攻击弱点。实质上,端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。
扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。
网络安全工程师:小白如何使用Kali Linux的Metasploit进行端口扫描
1.背景介绍
几乎每一个玩渗透的人都会接触到metasploit framework,简称msf。这是一个渗透测试框架,用ruby语言编写的,该框架集成了很多可用的exploit,比如著名的ms08_067等。你可以在这个框架下进行一系列的渗透测试,利用现有的payload,如meterpreter等进一步拿取对方的shell。
msf渗透测试框架包含了nmap这款工具的功能,nmap是一款强大的端口扫描工具,它支持很多种扫描,无论是大型网络还是个人主机都适用,本次教程将给大家演示如何利用metasploit进行端口扫描。
2.资源装备
2.1 一个安装好kali linux系统的物理机(或者是虚拟机)
2.2 一给安装好windows系统的物理机(或者是虚拟机)
2.3 整装待发的小白一个
3.具体步骤
3.1环境准备
首先,演示使用到的两台虚拟机要在同一网段,并且它们是可以相互ping通的。
windows系统的虚拟机的IP地址是192.168.78.160,用kali linux虚拟机可以ping通
kali linux系统的虚拟机的IP地址是192.168.78.144,用win7虚拟机也可以ping通
3.2进入msf控制台
在kali终端输入msfconsole,等待加载完毕
3.3在msf渗透测试框架调用nmap进行端口扫描
加载完毕,成功进入msf5命令行,输入“nmap 192.168.78.160”,可调用namp对win7虚拟机进行较为简单的端口扫描。
如果想要进行比较详细的端口扫描,可以使用nmap -sV 参数,示例:nmap -sV 192.168.78.160。可以收集到详细的端口信息,端口是否开放,端口号对应的服务及版本。
3.4搜索端口扫描模块并使用
在msf5命令行下输入命令“search portscan”,显示了一共有七个模块可以用于端口扫描,我们就使用第四个模块来为大家进行演示。
复制模块的名称,输入use空一格加上“模块名”使用该模块,再输入命令“show options”查看需要设置的参数,如下图所示。
我们有必要设置的参数有两个,ports和rhosts。ports参数可以指定我们要扫描的端口号和扫描的范围,用逗号将指定的多个端口号分开。如果要大范围扫描端口号,用到的就是小横杠,示例:set ports 110-900
设置完毕后,输入run执行即可,扫描结果也很快就出来了,结果显示win7虚拟机的135,139,445三个端口都开启了TCP服务。
以上三个端口都是比较“危险”的端口,因为黑客们常利用这三个端口的漏洞来进行攻击。我们通过使用metasploit渗透测试框架调用nmap可以扫描出目标主机各个端口的使用情况,从而能够通过端口扫描得到的关键信息来制定网络攻击方案。