python原始套接字编程示例分享


Posted in Python onFebruary 21, 2014

下面开始构造HTTP数据包,

IP层和TCP层使用python的Impacket库,http内容自行填写。

#!/usr/bin/env python#-------------------------------------------------------------------------------
# Name:     raw_http.py
# Purpose:       construct a raw http get packet
#
# Author:    Yangjun
#
# Created:       08/02/2014
# Copyright:   (c) Yangjun 2014
# Licence:       <your licence>
#-------------------------------------------------------------------------------
import sys
import socket
from impacket import ImpactDecoder, ImpactPacket
def main():
    if len(sys.argv) < 3:
        print "Use: %s <src ip> <dst ip>" % sys.argv[0]
        print "Use: %s <src ip> <dst ip> <cnt>" % sys.argv[0]
        sys.exit(1)
    elif len(sys.argv) == 3:
        src = sys.argv[1]
        dst = sys.argv[2]
        cnt = 1
    elif len(sys.argv) ==4:
        src = sys.argv[1]
        dst = sys.argv[2]
        cnt = sys.argv[3]
    else:
        print "Input error!"
        sys.exit(1)
#print src, dst
    ip = ImpactPacket.IP()
    ip.set_ip_src(src)
    ip.set_ip_dst(dst)
    # Create a new ICMP packet of type ECHO.
    icmp = ImpactPacket.ICMP()
    tcp = ImpactPacket.TCP()
    tcp.set_th_sport(55968)
    tcp.set_th_dport(80)
    tcp.set_th_seq(1)
    tcp.set_th_ack(1)
    tcp.set_th_flags(0x18)
    tcp.set_th_win(64)
    tcp.contains( ImpactPacket.Data("GET /att/DIYLife/41264/528 HTTP/1.1\r\nHost: 192.168.111.1\r\nAccept-Encoding: identity\r\n\r\n"))
    ip.contains(tcp)
    # Open a raw socket. Special permissions are usually required.
    s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)
    s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
    seq_id = 0
    while cnt >= 1:
        # Calculate its checksum.
        seq_id = seq_id + 1
        tcp.set_th_seq(seq_id)
        tcp.calculate_checksum()
        # Send it to the target host.
        s.sendto(ip.get_packet(), (dst,80))
        cnt= cnt -1
if __name__ == '__main__':
    main()

运行后抓包如下:

python原始套接字编程示例分享

Python 相关文章推荐
python django集成cas验证系统
Jul 14 Python
Python下线程之间的共享和释放示例
May 04 Python
python实现数独算法实例
Jun 09 Python
详解在Python程序中自定义异常的方法
Oct 16 Python
python实现汉诺塔方法汇总
Jul 25 Python
遗传算法之Python实现代码
Oct 10 Python
PyCharm配置mongo插件的方法
Nov 30 Python
Linux上使用Python统计每天的键盘输入次数
Apr 17 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
python中threading开启关闭线程操作
May 02 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
May 28 Python
Python实现随机生成迷宫并自动寻路
Jun 13 Python
python实现360皮肤按钮控件示例
Feb 21 #Python
python实现360的字符显示界面
Feb 21 #Python
python和pyqt实现360的CLable控件
Feb 21 #Python
python使用7z解压软件备份文件脚本分享
Feb 21 #Python
python发布模块的步骤分享
Feb 21 #Python
python列表操作使用示例分享
Feb 21 #Python
使用python统计文件行数示例分享
Feb 21 #Python
You might like
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
php中计算时间差的几种方法
2009/12/31 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
php实现留言板功能
2017/03/05 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
2013/03/26 Javascript
固定背景实现的背景滚动特效示例分享
2013/05/19 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
图解js图片轮播效果
2015/12/20 Javascript
七个不允许错过的jQuery小技巧
2015/12/21 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
JS SetInterval 代码实现页面轮询
2017/08/11 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
python Django批量导入不重复数据
2016/03/25 Python
Python常用库推荐
2016/12/04 Python
Python制作Windows系统服务
2017/03/25 Python
python批量修改文件编码格式的方法
2018/05/31 Python
Python 读取位于包中的数据文件
2020/08/07 Python
总经理助理工作职责
2014/02/06 职场文书
工程售后服务方案
2014/06/08 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书