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制作刷网页流量工具
Apr 23 Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 Python
python3+mysql查询数据并通过邮件群发excel附件
Feb 24 Python
Python应用领域和就业形势分析总结
May 14 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
Python Pandas中根据列的值选取多行数据
Jul 08 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
Aug 02 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
Python实现快速排序的方法详解
Oct 25 Python
python 导入数据及作图的实现
Dec 03 Python
Python requests获取网页常用方法解析
Feb 20 Python
python传到前端的数据,双引号被转义的问题
Apr 03 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
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
javascript的函数
2007/01/31 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
js星星评分效果
2014/07/24 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
使用C++为node.js写扩展模块
2015/04/22 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
JS中数组重排序方法
2016/11/11 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
详解自定义ajax支持跨域组件封装
2018/02/08 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
python实现可逆简单的加密算法
2019/03/22 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
python使用minimax算法实现五子棋
2019/07/29 Python
Python面向对象之Web静态服务器
2019/09/03 Python
python Pillow图像处理方法汇总
2019/10/16 Python
Tensorflow之MNIST CNN实现并保存、加载模型
2020/06/17 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
利用 Canvas实现绘画一个未闭合的带进度条的圆环
2019/07/26 HTML / CSS
波兰在线运动商店:YesSport
2020/07/23 全球购物
计算机专业毕业生自荐信
2013/12/31 职场文书
学生安全承诺书
2014/05/22 职场文书
班级心理活动总结
2014/07/04 职场文书
2014年学校团委工作总结
2014/12/20 职场文书
丧事答谢词
2015/01/05 职场文书
品质保证书格式
2015/02/28 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
Vue图片裁剪组件实例代码
2021/07/02 Vue.js