我只是学习了一些asyncPython,并尝试使用Asyncio模块编写一个简单的TCP端口扫描程序。
我可以通过asyncio.open_connection
通过三向握手打开一个完整的TCP连接。但是,我想使用asyncio创建一个SYN-ACK半开放连接,类似于nmap使用的连接。我在流API中翻找,但找不到任何内容。有高级方法可以做到这一点吗?如果没有,我该怎么做?
asyncio在TCP/IP堆栈层上没有提供这样的控制,甚至隐藏了一些复杂的任务,如回调、低级协议、传输。您可以使用原始套接字来完成此操作。
可用的模块
- python nmap
- scapy