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 09 Python
python实现ping的方法
Jul 06 Python
Python编写简单的HTML页面合并脚本
Jul 11 Python
python自动重试第三方包retrying模块的方法
Apr 24 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 Python
python selenium爬取斗鱼所有直播房间信息过程详解
Aug 09 Python
Python爬虫 批量爬取下载抖音视频代码实例
Aug 16 Python
Python sys模块常用方法解析
Feb 20 Python
Python tkinter布局与按钮间距设置方式
Mar 04 Python
音频处理 windows10下python三方库librosa安装教程
Jun 20 Python
python如何建立全零数组
Jul 19 Python
Python 必须了解的5种高级特征
Sep 10 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生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
斜45度寻路实现函数
2009/08/20 Javascript
JS DOM 操作实现代码
2010/08/01 Javascript
jQuery实现鼠标滑过图片移动特效
2016/12/08 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
[03:58]2014DOTA2国际邀请赛 龙宝赛后解密DK获胜之道
2014/07/14 DOTA
开始着手第一个Django项目
2015/07/15 Python
简介Django框架中可使用的各类缓存
2015/07/23 Python
python中defaultdict的用法详解
2017/06/07 Python
Python3.x对JSON的一些操作示例
2017/09/01 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
Python学习笔记之自定义函数用法详解
2019/06/08 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
解决python 找不到module的问题
2020/02/12 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
2016/11/20 面试题
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
给全校老师的建议书
2014/03/13 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
北京英语导游词
2015/02/12 职场文书
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫