Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1130114
  • 博文数量: 170
  • 博客积分: 1603
  • 博客等级: 上尉
  • 技术积分: 1897
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-09 15:54
文章分类

全部博文(170)

文章存档

2016年(27)

2015年(21)

2014年(27)

2013年(21)

2012年(7)

2011年(67)

我的朋友

分类: Python/Ruby

2011-10-18 17:51:16

仅供学习用

之前一直在想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包就得靠原始套接字了!


未完待续
阅读(3394) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~