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 socket网络编程步骤详解(socket套接字使用)
Dec 06 Python
python新手经常遇到的17个错误分析
Jul 30 Python
python装饰器初探(推荐)
Jul 21 Python
python之信息加密题目详解
Jun 26 Python
Python 函数list&amp;read&amp;seek详解
Aug 28 Python
Django框架模板用法入门教程
Nov 04 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
Dec 12 Python
使用tensorflow实现矩阵分解方式
Feb 07 Python
导致python中import错误的原因是什么
Jul 01 Python
Python并发爬虫常用实现方法解析
Nov 19 Python
Python中常见的导入方式总结
May 06 Python
Python面向对象之内置函数相关知识总结
Jun 24 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分页类集锦
2014/11/18 PHP
php生成zip文件类实例
2015/04/07 PHP
微信API接口大全
2015/04/15 PHP
laravel入门知识点整理
2020/09/15 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
Js 获取当前日期时间及其它操作实现代码
2021/03/04 Javascript
jQuery对象和DOM对象相互转化
2009/04/24 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
JavaScript作用域链示例分享
2014/05/27 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
JQuery通过后台获取数据遍历到前台的方法
2018/08/13 jQuery
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
Vue实现导航栏菜单
2020/08/19 Javascript
用Python生成器实现微线程编程的教程
2015/04/13 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
Python之qq自动发消息的示例代码
2021/02/18 Python
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
旧时光糖果:Old Time Candy
2018/02/05 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
个人自我鉴定写法
2013/11/30 职场文书
学生自我评语
2015/01/04 职场文书
小学生读书笔记范文
2015/06/30 职场文书
初中语文教学随笔
2015/08/15 职场文书
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers