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条件和循环的使用方法
Nov 01 Python
python使用reportlab画图示例(含中文汉字)
Dec 03 Python
使用Python的内建模块collections的教程
Apr 28 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
Jun 14 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
Feb 19 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
Jul 04 Python
python实现微信自动回复机器人功能
Jul 11 Python
python 命令行传入参数实现解析
Aug 30 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 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
?生?D片??C字串
2006/12/06 PHP
php中sql注入漏洞示例 sql注入漏洞修复
2014/01/24 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
2016/09/11 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
基于JavaScript表单脚本(详解)
2017/10/18 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
vue实现图书管理系统
2020/12/29 Vue.js
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
详解Python编程中time模块的使用
2015/11/20 Python
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
Django 连接sql server数据库的方法
2018/06/30 Python
python中int与str互转方法
2018/07/02 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
全网最详细的PyCharm+Anaconda的安装过程图解
2021/01/25 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
详解CSS中iconfont的使用
2015/08/04 HTML / CSS
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
巴西网上药房:onofre
2016/11/21 全球购物
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
任课老师推荐信范文
2013/11/24 职场文书
护理实习自我鉴定
2013/12/14 职场文书
拉歌口号大全
2014/06/13 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书