All Projects → hsiafan → Httpdump

hsiafan / Httpdump

Licence: bsd-2-clause
Capture and parse http traffics

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Httpdump

ImageAttachment
Example App to show how to pick an image from Camera/Gallery
Stars: ✭ 23 (-95.17%)
Mutual labels:  capture
Fluxion
Fluxion is a remake of linset by vk496 with enhanced functionality.
Stars: ✭ 3,275 (+588.03%)
Mutual labels:  capture
Multiimagepicker
A library to pick multi images in Android
Stars: ✭ 391 (-17.86%)
Mutual labels:  capture
Sengiri
Sengiri is the screen recording utility. It can easily create GIF movie.
Stars: ✭ 23 (-95.17%)
Mutual labels:  capture
Scrap
📸 Screen capture made easy!
Stars: ✭ 273 (-42.65%)
Mutual labels:  capture
Openglcamera2
Android OpenGL Camera 2.0 实现 30 种滤镜和抖音特效
Stars: ✭ 305 (-35.92%)
Mutual labels:  capture
page capture
A Chrome Extension that allows page capturing from within your Web Application.
Stars: ✭ 13 (-97.27%)
Mutual labels:  capture
Webscrapbook
A browser extension that captures web pages to local device or backend server for future retrieval, organization, annotation, and edit. This project inherits from ScrapBook X.
Stars: ✭ 424 (-10.92%)
Mutual labels:  capture
Android Camera2 Secret Picture Taker
Take pictures 📷 secretly (without preview or launching device's camera app) using Android CAMERA2 API
Stars: ✭ 275 (-42.23%)
Mutual labels:  capture
Lookyloo
Lookyloo is a web interface that allows users to capture a website page and then display a tree of domains that call each other.
Stars: ✭ 381 (-19.96%)
Mutual labels:  capture
KeyPlexer
Capstone: Keylogger Trojan
Stars: ✭ 32 (-93.28%)
Mutual labels:  capture
Menyoki
Screen{shot,cast} and perform ImageOps on the command line 🌱 🏞️
Stars: ✭ 255 (-46.43%)
Mutual labels:  capture
Anyimagekit
A toolbox for pick/edit/capture photo or video. Written in Swift.
Stars: ✭ 324 (-31.93%)
Mutual labels:  capture
snapcrawl
Crawl a website and take screenshots
Stars: ✭ 37 (-92.23%)
Mutual labels:  capture
1click Webpage Screenshot
Entire page Screenshot extension for Google Chrome. I'm developing open source extension for Google Chrome. All extension are free for use. Let's make Chrome great again!
Stars: ✭ 406 (-14.71%)
Mutual labels:  capture
Handy3DScanner
Repository for Handy 3D Scanner
Stars: ✭ 54 (-88.66%)
Mutual labels:  capture
Airbash
A POSIX-compliant, fully automated WPA PSK PMKID and handshake capture script aimed at penetration testing
Stars: ✭ 308 (-35.29%)
Mutual labels:  capture
Nohboard
A Keyboard Visualizer
Stars: ✭ 441 (-7.35%)
Mutual labels:  capture
Packet Agent
A toolset for network packet capture in Cloud/Kubernetes and Virtualized environment.
Stars: ✭ 419 (-11.97%)
Mutual labels:  capture
Clight
A C daemon that turns your webcam into a light sensor. It will adjust screen backlight based on ambient brightness.
Stars: ✭ 371 (-22.06%)
Mutual labels:  capture

Parse and display http traffic from network device or pcap file. This is a go version of origin pcap-parser, thanks to gopacket project, this tool has simpler code base and is more efficient.

For original python implementation, refer to httpcap on pypi.

Install & Requirement

Build httpdump requires libpcap-dev and cgo enabled.

libpcap

for ubuntu/debian:

sudo apt install libpcap-dev

for centos/redhat/fedora:

sudo yum install libpcap-devel

for osx:

Libpcap and header files should be available in macOS already.

Install

go get github.com/hsiafan/httpdump

Usage

httpdump can read from pcap file, or capture data from network interfaces. Usage:

Usage: httpdump 
  -curl
    	Output an equivalent curl command for each http request
  -device string
    	Capture packet from network device. If is any, capture all interface traffics (default "any")
  -dump-body
    	dump http request/response body to file
  -file string
    	Read from pcap file. If not set, will capture data from network device by default
  -force
    	Force print unknown content-type http body even if it seems not to be text content
  -host string
    	Filter by request host, using wildcard match(*, ?)
  -idle duration
    	Idle time to remove connection if no package received (default 4m0s)
  -ip string
    	Filter by ip, if either source or target ip is matched, the packet will be processed
  -level string
    	Output level, options are: url(only url) | header(http headers) | all(headers, and textuary http body) (default "header")
  -output string
    	Write result to file [output] instead of stdout
  -port uint
    	Filter by port, if either source or target port is matched, the packet will be processed.
  -pretty
    	Try to format and prettify json content
  -status string
    	Filter by response status code. Can use range. eg: 200, 200-300 or 200:300-400
  -uri string
    	Filter by request url path, using wildcard match(*, ?)

Samples

A simple capture:

$ httpdump
192.168.110.48:56585  ----->  101.201.170.152:80
GET / HTTP/1.1
Host: geek.csdn.net
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8
Cookie: uuid_tt_dd=-7445280944848876972_20160309; _JQCMT_ifcookie=1; _JQCMT_browser=8cc6c51a0610de98f19cf86af0855a3e; lzstat_uv=24444940273412920400|[email protected]@3311294


101.201.170.152:80  <-----  192.168.110.48:56585
HTTP/1.1 200 OK
Server: openresty
Date: Tue, 31 May 2016 02:40:14 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=20
Vary: Accept-Encoding
Vary: Accept-Encoding
Content-Encoding: gzip

{body size: 15482 , set level arg to all to display body content}

More:

# parse pcap file
sudo tcpdump -wa.pcap tcp
httpdump -file a.pcap

# capture specified device:
httpdump -device eth0

# filter by ip and/or port
httpdump -port 80  # filter by port
httpdump -ip 101.201.170.152 # filter by ip
httpdump -ip 101.201.170.152 -port 80 # filter by ip and port
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].