原文:

https://zm8.sm-tc.cn/?src=l4uLj8XQ0IuekZWWi5bRk5CZi5qN0ZyQktCPkIyL0M6cnMmcx8qdoM7PnMrIyMnI&uid=e96fb03443f13a7818306ad06a9a551c&hid=7004e08dc41ef5580b3280b8ff2054c4&pos=5&cid=9&time=1527521434654&from=click&restype=1&pagetype=0000004000000402&bu=ss_doc&query=http%E5%8F%91%E5%8C%85%E5%B7%A5%E5%85%B7&mode=&v=1&uc_param_str=dnntnwvepffrgibijbprsvdsdichei

https://github.com/jakubroztocil/httpie

一般用curl发送http协议包,这里介绍一款更为友好的发包工具 HTTPie(python版本)

(其实也自制了一款perl版本的发包工具HTTP.pl

一、安装 

pip install --upgrade httpie

或者

easy_install httpie

或者 直接从github

pip install --upgrade https://github.com/jakubroztocil/httpie/tarball/master

可选的,

pip install --upgrade pyopenssl pyasn1 ndg-httpsclient

安装成功会 /usr/local/bin/http

 

二、配置

参考:https://github.com/jkbr/httpie#config

vim  ~/.httpie/config.json

{
    "__meta__": {
        "about": "HTTPie configuration file",
        "help": "https://github.com/jkbr/httpie#config",
        "httpie": "0.8.0"
    },
    "default_options": ["--verbose"],
    "implicit_content_type": "form"
}

default_options: 配置默认选项,例如显示完整请求过程

implicit_content_type:默认请求的content_type类型,可以选择form或者json类型,例如选择form表示默认指定请求体的Content-Type为application/x-www-form-urlencoded

例如选择json表示默认指定请求体的Content-Type为application/json

三、使用

1.简介

基本使用方法

http [选项] [请求方法] URL [ITEM [ITEM]]

仔细查看帮助选项是快速入门的好办法

http --help

2.常见功能示例

(1)发送查询字符串 ==

(2)发送表单数据  

Content-Type为application/x-www-form-urlencoded

从文件读取数据发送表单 =@

(3)发送JSON数据  :=

Content-Type为application/json

从文件读取JSON数据  :=@

(4)发送文件表单 @

Content-Type为multipart/form-data

(5)是否自动重定向  --follow

不自动重定向的

自动重定向的

(6)指定请求头  :

(7) 基本认证  --auth:passwd

缺少基本认证的

指定基本认证的

(8)像wget一样下载 --download

更多使用方法请参照

https://github.com/jakubroztocil/httpie

后记:

本来这个工具让我觉得沮丧,觉得把我的工具瞄成了渣渣,但今天发了ta有个编码问题,瞬间满血复活了,我写的工具就没有这个问题(吼吼吼....)

当使用httpie发送下面这个请求时

http http://127.0.0.1:12354 a='(select 1 from(select count(*),concat((select (select (SELECT CHAR(100, 56, 100, 57, 48, 9
7, 97, 57, 52, 51, 101, 52, 97, 100, 100, 50))) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema
.tables group by x)a)'

编码为

a=(select+1+from(select+count(*),concat((select+(select+(SELECT+CHAR(100,+56,+100,+57,+48,+97,+97,+57,+52,+51,+101,+52,+97,+100,+100,+50)))+from+information_schema.tables+limit+0,1),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)

ta将不该编码的也编码了

而用HTTP.pl

./HTTP.pl -url http://127.0.0.1:12354 -method POST -d a='(select 1 from(select count(*),concat((select (select (SELECT CHAR(100, 56, 100, 57, 48, 9
7, 97, 57, 52, 51, 101, 52, 97, 100, 100, 50))) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema
.tables group by x)a)'

编码为

a=(select+1+from(select+count(*),concat((select+(select+(SELECT+CHAR(100,+56,+100,+57,+48,+97,+97,+57,+52,+51,+101,+52,+97,+100,+100,+50)))+from+information_schema.tables+limit+0,1),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)

HTTP发包工具 -HTTPie的更多相关文章

  1. 三款经常使用IP发包工具介绍

    AntPower 版权全部© 2003 技术文章http://www.antpower.org 第1 页共14 页AntPower-技术文章三款经常使用IP 发包工具介绍小蚁雄心成员郎国军著lgj@q ...

  2. charles重复发包工具/repeat

    重复发包工具/repeat Charles 让你选择一个请求并重复,在测试后端接口的时候非常有用: Charles将请求重新发送到服务器,并将响应显示为新请求. 如果您进行后端更改并希望测试它们,用了 ...

  3. 数据包发包工具bittwist

    数据包发包工具bittwist   渗透测试中,通过发送特定格式的包,可以实施网络嗅探和攻击.Kali Linux提供一款发包工具bittwist.该工具可以通过指定的网络接口发送数据.该工具不仅可以 ...

  4. 【发包工具】http多线程发包工具

    [发包工具]http多线程发包工具 使用方法:输入地址,发送的内容,线程数,等待时间,每个线程发送的次数,GET/POST请求. 源代码 package com.xmxkkk.httptest; im ...

  5. 通过HTTP发包工具了解HTTP协议

    一.HTTP.pl功能简介 HTTP.pl perl编写的发包工具,简化版本curl,像curl致敬(唉,“致敬”都被于妈玩坏了).   该发包工具支持HEAD,GET,METHOD三种基本请求方法, ...

  6. Sendip 命令行发包工具,支持IP、TCP、UDP等

    Sendip是一个linux平台的命令行发数据包工具,目前(2018年2月)支持的协议有ipv4.ipv6.icmp.tcp.udp.bgp.rip.ntp,作者表示其他协议将会后面支持,当他有空写的 ...

  7. xcap发包工具的简单使用1(构造报文)

    xcap是一个免费的网络发包工具,可以构造和发送常用的网络报文,如arp,ip,icmp,udp等,支持构造报文和发送报文等. 报文隶属于报文组,每个报文组包含多个报文,因此,创建报文首先要创建报文组 ...

  8. charles 批量重复请求/重复发包工具

    本文参考:charles 批量请求 重复发包工具/repeat Charles 让你选择一个请求并重复,在测试后端接口的时候非常有用: Charles将请求重新发送到服务器,并将响应显示为新请求. 如 ...

  9. python笔记42-http请求命令行工具(httpie)

    前言 通常我们需要快速的测试某个接口通不通,一般linux上用curl去发http请求,但是这个命令行工具语法有点复杂了,不够直观. python有一个给人类使用的requests库,非常的简单方便. ...

随机推荐

  1. doom启示录

    半个小时之后,doom的最后一个字节抵达威斯康星大学,瞬间,上万名玩家涌向那台服务器,淹没了她,威斯康星大学的服务器瘫痪了,大卫的服务器崩溃了. “天哪”大卫在电话里结结巴巴地对杰伊说:“我还从没见过 ...

  2. L243 词汇题2009

    The applications of genetic engineering are abundant (plentiful) and choosing one appropriate for th ...

  3. IOS控件大全及控件大小

    一 视图UIView和UIWindow iphone视图的规则是:一个窗口,多个视图.UIWindow相当于电视机,UIViews相当于演员. 1.显示数据的视图 下面几个类可在屏幕上显示信息: UI ...

  4. Linux:at命令详解

    at命令 at命令为单一工作调度命令.at命令非常简单,但是在指定时间上却非常强大 语法 at [选项] time at > 执行的命令 ctrl+d 选项 -m :当指定的任务被完成之后,将给 ...

  5. I.MX6 make menuconfig OTG to slave only mode

    /****************************************************************************** * I.MX6 make menucon ...

  6. 当前目录如何打开cmd

    前言 有时候需要在当前文件夹打开cmd控制台,直接从开始打开cmd进入当前目录比较麻烦,可以直接进入. 方法 按住键盘上Shift键的同时,在要操作的文件夹(DOS年代称为目录)上点击鼠标右键,在弹出 ...

  7. Springboot中使用缓存

    在开发中,如果相同的查询条件去频繁查询数据库, 是不是会给数据库带来很大的压力呢?因此,我们需要对查询出来的数据进行缓存,这样客户端只需要从数据库查询一次数据,然后会放入缓存中,以后再次查询时可以从缓 ...

  8. PC端体验效果最佳epub阅读器——iRead爱读书

    官网:http://www.ireadhome.com/

  9. Adobe Flash Player - imsoft.cnblogs

    Adobe Flash Player是一个跨平台.基于浏览器的应用程序.运行时,它可以跨屏幕和浏览器原汁原味地查看具有表现力的应用程序.内容和视频.Flash Player实现了移动屏幕上的高性能优化 ...

  10. PHP webservice初探

    背景:在最近的开发中,为了解决公司内部系统与外部系统的对接,开始接触到了webservice接口,外部公司提供接口供我们调用,已达到数据同步的目的,因此有必要普及一下web service的知识了! ...