小菜前面两篇文章给大家介绍了一下主机存活扫描工具,这一讲该给大家讲讲扫指定主机端口是否开放的工具咯!当然啦,实现起来和之前一样的简单是多行代码完事儿呢(此处应该有掌声)。大家赶紧夸一下小菜吧~~先给大家看一下运行结果吧!(如图1)。
![51c801bd305357e9a92df63e35825e2e.png](https://i-blog.csdnimg.cn/blog_migrate/11386e705ffc0e3d9781d12c6129aaae.jpeg)
图1
0x01 SYN扫描原理
- tcp建立需要经过三次握手。
- 我们构建一个syn数据包(第一个数据包)发给目标机器。
- 目标机器返回一个syn+ack数据包(第二个数据包)说明目的主机的端口是开放的,反之则没有开放。
这里说的syn、ack 这些说的是tcp数据包中的标志。
0x02 工欲善其事必先利其器(当然啦,肯定要准备工具呢)
- python环境(这个就不用多说啦)。
- scapy(这次还用它,安装命令:pip install scapy),这个库封装了好多复杂的东西,咱们直接用就行。
- 还是提醒一句windows上用的话记得装上Npcap。
0x03 编写代码逻辑
这次还是给大家截图,显示的格式看起来舒服。如图2
![b608820ee51d0b1d481b4f7970a1e0e7.png](https://i-blog.csdnimg.cn/blog_migrate/81dc51a093ac86b62c91f04504d1ec4b.jpeg)
图2
怎样使用,图2里面的代码 都注释好啦!大家可以抄过来用啦。
0x04 运行
运行结果如图1所示。图1中箭头1所指信息,大家不要的话可以去掉。图1中箭头2所指就是扫描出来的开放端口信息了呢。大家赶紧试试呢!