防火墙识别

0x00:端口识别

在检测防火墙是否对一个端口过滤还是关闭,可通过发送两个类型的数据包来判断,第一个是 syn 包,第二个是 ack 包。分别根据这两个包的返回来进行确认。正常的请求过程是发 syn,回 syn/ack,发 ack,回 fin/ack。两个发两个回,所以可以通过两回来确认。这里分为四种情况。

第一种是最简单的,端口是开放状态,走的是正常的流程,所以 syn 应回 syn/ack,ack 应回 rst。因为 ack 是单独发的,所以回 rst。

第二种是关闭状态,syn 没有结果返回,ack 也没有结果返回。都没有结果返回时,则可证明端口是关闭的。

第三种是过滤状态,端口被过滤,有两种情况,第一个是 syn 正常返回,ack 不正常。第二个是 syn 不正常返回,ack 却正常。也就是两个包只有其中一个是正常的,另一个是不正常,则可判定为端口被过滤。先看第一种,syn 返回了 syn/ack,ack 却没有结果返回,则端口被过滤。

第四种是过滤状态,也就是上面说的另外一个,syn 没有返回结果,ack 却返回了 rst,则端口被过滤。

请输入图片描述

0x01:scapy 探测

了解了以上过程,可以通过 scapy 来分别发送 syn 和 ack,python 脚本如下࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值