检测网络安全漏洞工具
- 软件开发
- 2025-08-26 19:03:01

实验一的名称为信息收集和漏洞扫描
实验环境:VMware下的kali linux2021和Windows7 32,网络设置均为NAT,这样子两台机器就在一个网络下。攻击的机器为kali,被攻击的机器为Windows 7。
理论知识记录:
1.信息收集的步骤
2.ping命令
3.arp主机发现
4.端口扫描
tcp扫描
tcp SYN扫描
Nmap
nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取哪台主机正在运行以及提供什么服务等信息。
5.漏洞扫描
漏洞库匹配法
插件技术
理论知识就记录那么多,接下来记录一下实操。
首先是主机发现,先用fping扫描。首先熟悉一下fping的参数。
使用一个工具之前一定要对参数有所了解。分享一下作为英语学渣看英文解释的办法,首先安装了vmtoors的话直接复制粘贴,打开百度在线翻译,然后就能开始看了。
然后我们进行一下内网扫描:fping -a -g 192.168.48.1/24 -q
解释一下这个指令,-a 是显示网段内存活主机(包括自己),-g代表了扫的是ip的范围,后面跟的192.168.48.1/24, -q这个参数非常重要,如果不设置的话,每ping失败一次就会显示一次ping失败,一般一个IPping三个包,256x3条信息。
这里可以通过返回的包的ttl判断一下操作系统的类型,ttl接近128是windows操作系统,ttl接近64是,Linux操作系统。
然后我们开启防火墙一个回复都没有收到。
这时候我们试一下arping扫描,就可以得到回复,下面是开启防火墙时的ping扫描和当机器挂起时的ping扫描的结果。
为什么ping扫描没有回复但是arping扫描有回复呢,现在我们解释一下arping扫描到底是啥。
arping实现了简单的二层发现,即基于物理层和链路层的发现。由于没有ip层的参与,所以是不可路由的。优点是速度快,准确性高;缺点是不可路由,无法发现局域网以外的主机。
arping,用来向局域网内的其它主机发送ARP请求的指令,它可以用来测试局域网内的某个IP是否已被使用。
arping命令无法一次性实现多个ip的扫描,但是可以配合shell脚本实现整个局域网的扫描。
arping主要干的活就是查看ip的MAC地址及IP占用的问题。 我们老师说如果一个机器如果对ARP包不回复是没有办法上网的,因为在网络上别人给你发数据包实际上还是发到mac地址上,因为mac地址是固定且唯一的,IP地址是会变得,而ARP报文就是询问ip对应的mac地址,所以是会回复的,就算开了防火墙也会回复,所以可以通过arping去检测局域网内机器是否存活。
下面记录一下下Nmap扫描学习,同样的我们先输入nmap -h看一下参数
这里搬运一下别人整理的翻译,做自己的学习记录。
1、 TARGET SPECIFICATION 目标说明 -iL 从主机地址列表文件中导入扫描地址(批量扫描,可自己创建地址列表文件) -iR 随机选择目标进行扫描,num hosts表示数目,设置为0则无休止扫描 –exclude 排除某个主机地址 –excludefile 排除主机地址列表文件中的地址 2、 HOST DISCOVERY 主机发现 -sL 列表扫描,仅将指定的目标IP列举出来,不进行主机发现 -sn 和-sP一样,只利用ping扫描进行主机发现,不扫描目标主机的端口 -Pn 将所有指定的主机视为已开启状态,跳过主机发现过程 -PS TCP SYN ping,发送一个设置了SYN标志位的空TCP报文,默认端口为80,也可指定端口 -PA TCP ACK ping,发送一个设置了ACK标志位的空TCP报文,默认端口为80,也可指定端口 -PU UDP ping,发送一个空的UDP报文到指定端口,可穿透只过滤TCP的防火墙 -P0 使用IP协议ping -PR 使用ARP ping -n/-R -n不用域名解析,加速扫描,-R为目标IP做反向域名解析,扫描慢一些 -dns-servers 自定义域名解析服务器地址 -traceroute 目标主机路由追踪 3、SCAN TECHNIQUES 端口扫描 Nmap将目标端口分为6种状态: -open(开放的) -closed(关闭的) -filtered(被过滤的) -unfiltered(未被过滤)可访问但不确定开放情况 -open|filtered(开放或者被过滤)无法确定端口是开放还是被过滤的 -closed|filtered(关闭或者被过滤)无法确定端口是关闭还是被过滤的 Nmap产生结果是基于目标机器的响应报文的,而这些主机可能是不可信任的,会产生迷惑或者误导Nmap的报文 -sS TCP SYN扫描,半开放扫描,速度快隐蔽性好(不完成TCP连接),能够明确区分端口状态 -sT TCP连接扫描,容易产生记录,效率低(不推荐) -sA TCP ACK扫描,只设置ACK标志位,区别被过滤与未被过滤的 -sU UDP服务扫描,例如DNS/DHCP等,效率低 4、 PORT SPECIFICATION AND SCAN ORDER 端口说明和扫描顺序 -p 指定扫描的端口,可以是单个端口,也可以是端口范围,可以指定UDP或TCP协议扫描特定端口 -p 指定扫描的协议,例如-p http即可扫描http协议的端口状态 –exclude-ports 排除指定端口不扫描 -F 快速模式,仅扫描100个常用端口 5、SERVICE/VERSION DETECTION 服务与版本探测 Nmap-services 包含大量服务的数据库,Nmap通过查询该数据库可以报告哪些端口可能对应于什么服务,但不一定正确 -sV 进行服务版本探测 –version-intensity 设置版本扫描强度,范围为0-9 默认是7,强度越高,时间越长,服务越可能被正确识别 6、SCRIPT SCAN 脚本扫描 允许用户自己编写脚本来执行自动化的操作或者扩展Nmap的功能,使用Lua脚本语言。 -sC 使用默认类别的脚本进行扫描 –script= 使用某个或某类脚本进行扫描;支持通配符描述 7、OS DETECTION 操作系统探测 用TCP/IP协议栈fingerprinting进行探测,Nmap发送一系列TCP和UDP报文到远程主机,检查响应中的每一个比特。测试后Nmap把结果和数据库中超过1500个一直的fingerprints比较,如匹配则输出结果。 -O 启用操作系统探测 -A 同时启用操作系统探测和服务版本探测 –osscan-limit 针对指定的目标进行操作系统检测 –osscan-guess 当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配 8、TIMING AND PERFORMANCE 时间和性能 Nmap开发的最高优先级是性能,但实际应用中很多因素会增加扫描时间,比如特定的扫描选项,防火墙配置以及版本扫描等。 -T<0-5> 设置时间模块级数,在0-5中选择。T0、T1用于IDS规避,T2降低了扫描速度以使用更少的带宽和资源。默认为T3,未做任何优化。T4假设具有合适及可靠的网络从而加速扫描。T5假设具有特别快的网络或者愿为速度牺牲准确性 -host-timeout 放弃低速目标主机,时间单位为毫秒 9、FIREWALL/IDS EVASION AND SPOOFING 防火墙/IDS规避和欺骗 -f(报文分段);–mtu(使用指定的MTU)将TCP头分段在几个包中,使得包过滤器、IDS以及其他工具的检测更加困难 -D <decoy1,deoy2[,ME]…>隐蔽扫描;使用逗号分隔每个诱饵主机,用自己的真实IP作为诱饵使用ME选项。如在6号或更后的位置使用ME选项,一些检测器就不报告真实IP。如不适用ME,真实IP将随机放置 -S <IP_Address> 伪造数据包的源地址 -source-port/-g 伪造源端口 10、OUTPUT 输出选项 -oN 标准输出 -oX XML输出写入指定的文件 -oS 脚本小子输出,类似于交互工具输出 -oG Grep输出 -oA 输出至所有格式 -v 提高输出信息的详细度 -resume 继续中断的扫描然后我们记录一下实验用的语句。
1.A对B进行TCP端口扫描(范围1-150)
nmap 192.168.48.134 -p 1-150
2.对B进行UDP端口扫描,范围也是1-150
nmap 192.168..48.134 -sU -p 1-150
3.对主机B进行TCP/IP指纹特征扫描
nmap -A 192.168.48.134 -Pn
这里学习记录一下tcp/ip指纹特征的原理。
TCP/IP堆栈指纹识别技术是基于TCP/IP协议来实现的,主要是TCP/IP四层模型中网络层的IP协议和传输层的TCP协议。操作系统为了实现网络功能,一般由操作系统来实现传输层、网络层、链路层协议, 而由专门的应用软件来支持相关的应用层协议,如安装QQ软件才能支持QQ协议,这样的实现方式为TCP/IP堆栈指纹技术提供了前提。
比如,IP协议的initial ttl在不同的操作系统就不太一样,TCP协议和IP协议在不同操作系统中体现的细微差异,可以组合成TCP/IP堆栈的指纹特征,每个指纹都代表着一种操作系统在网络活动上的特征。
4.对活动主机运行服务进行探测。
namp -sV 192.168.48.134
5.对主机B进行协议探测
nmap 192.168.48.134 -PO ip(-PO是协议探测,我这里指定是ip协议探测)
nmap 192.168.48.134 -PO ip
scapy项目学习记录
Scapy能完成绝大多数工具所能完成的功能,例如:扫描,网络发现,跟踪路由,探测,攻击,这是kali已经集成的python的工具包,使用方法是,在shell页面输入scapy就能启动。
send、sendp、sr、sr1 发送数据包函数使用,send函数工作在第二层,可用于发送IP包,sendp函数工作在第三层,可用于发送Ether帧。
“/”表示加上一层
例如:send(IP(dst="192.168.64.133")/ICMP()) 生成一个IP包,并加上一层ICMP然后给地址192.168.48.133发送。
sendp(Ether()/IP(dst="192.168.64.133"),iface="eth0")
sr()函数用来发送数据包和接收响应,例如
sr(IP(dst="192.168.64.133")/ICMP())是给IP地址发送一个数据包并且接收响应
通过summary函数查看响应的结果。
由于这次实验没有学多少关于scapy所以我就记录到这里。
下面记录一下实验的漏洞扫描,使用的工具为Nessus,我费了好大的劲才装上的。
用Nessus进行漏洞扫描的过程在我的另一篇博客,我就不在这写啦~
这里记录到我的另一篇博客去啦,扫描的过程我就不放上来了。
靶机是metasploitable2,利用的漏洞是php_cgi_arg_injection
启动metasploit,搜索相关的漏洞利用模块
输入use 0可以选择该攻击的payload。
然后查看需要配置的参数,show options
一般我们就配个IP就行了
输入指令,set rhost 192.168.48.129就能设置了
然后设置好了以后输入exploit,或者run,我一般输exploit,因为比较酷。
可以看到执行以后,有一个meterpreter,那个就是攻击成功了好像。可以输一些指令试试。
我cd切进了我自己写的文件的目录,执行cat指令查看我自己写的内容。
这次的试验记录就到这里结束啦~
网络安全学习路线对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
需要网络安全学习路线和视频教程的可以在评论区留言哦~
最后 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。
黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)
结语网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明: 此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失
检测网络安全漏洞工具由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“检测网络安全漏洞工具”