仅供学习用
之前一直在想python用socket编程的话,底层3次握手都省略掉了,那如何实现发特定包头的包呢,比如说一直发syn包之类的。。
找半天
一个方法是用Twisted,自己看了下Twisted好像挺复杂的,思路都和socket貌似不一样.....
还好下面里面也有提到"socket第二个参数填SOCK_RAW",查了下
socket(Socket_family,Socket_type)
Socket_family参数常用的值:AF_UNIX(主要用于UNIX系统使用)、 AF_INEF(默认)、AF_INET6(主要用于IPV6)
Socket_type参数常用的值:SOCK_STREAM(TCP/IP)、SOCK_DGRAM(UDP/IP)
没有说明sock_raw是什么,google了一下才知道原始套接字这个词....
下面是个不成功的用法
看了后就大概就知道了,原始套接字就是完全自定义发包的内容发包....所以如果你要做tcpip连接的话需要自己做3次握手....so,要实现单发syn包就得靠原始套接字了!
未完待续
阅读(3376) | 评论(0) | 转发(0) |