{"id":13441063,"url":"https://github.com/six-ddc/httpflow","last_synced_at":"2025-04-04T06:10:17.089Z","repository":{"id":44668851,"uuid":"82944059","full_name":"six-ddc/httpflow","owner":"six-ddc","description":"A command line utility helps to capture and dump HTTP stream","archived":false,"fork":false,"pushed_at":"2023-09-21T18:19:53.000Z","size":12262,"stargazers_count":687,"open_issues_count":5,"forks_count":80,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-03-28T05:13:37.510Z","etag":null,"topics":["capture","http","pcap-files","tcpdump","traffic-analysis"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/six-ddc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-02-23T15:59:01.000Z","updated_at":"2025-03-22T22:49:50.000Z","dependencies_parsed_at":"2024-03-17T04:51:41.681Z","dependency_job_id":null,"html_url":"https://github.com/six-ddc/httpflow","commit_stats":{"total_commits":64,"total_committers":3,"mean_commits":"21.333333333333332","dds":0.328125,"last_synced_commit":"5a4a2c6a41bd6f4fa91a05b20037f8f313b03fa5"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/six-ddc%2Fhttpflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/six-ddc%2Fhttpflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/six-ddc%2Fhttpflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/six-ddc%2Fhttpflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/six-ddc","download_url":"https://codeload.github.com/six-ddc/httpflow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247128753,"owners_count":20888235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["capture","http","pcap-files","tcpdump","traffic-analysis"],"created_at":"2024-07-31T03:01:29.522Z","updated_at":"2025-04-04T06:10:17.065Z","avatar_url":"https://github.com/six-ddc.png","language":"C++","readme":"# httpflow\n\n[![Build Status](https://travis-ci.org/six-ddc/httpflow.svg?branch=master)](https://travis-ci.org/six-ddc/httpflow)\n\n[![asciicast](https://asciinema.org/a/scdzwLDNytSPHtpbu1ECSv5FV.svg)](https://asciinema.org/a/scdzwLDNytSPHtpbu1ECSv5FV)\n\n## Installation\n\n### MacOs\n\n```bash\nbrew update\nbrew install httpflow\n```\n\n### Linux\n\n* Install [zlib](http://www.zlib.net/), [pcap](http://www.tcpdump.org/), [pcre](http://pcre.org/)\n\n```bash\n## On CentOS\nyum update\nyum install libpcap-devel zlib-devel pcre-devel\n\n## On Ubuntu / Debian\napt-get update\napt-get install libpcap-dev zlib1g-dev libpcre3 libpcre3-dev\n```\n\n* Building httpflow\n\n```bash\n\u003e git clone https://github.com/six-ddc/httpflow\n\u003e cd httpflow \u0026\u0026  make \u0026\u0026 make install\n```\n\nor directly download [Release](https://github.com/six-ddc/httpflow/releases) binary file.\n\n## Usage\n\n```\nlibpcap version libpcap version 1.9.1\nhttpflow version 0.0.9\n\nUsage: httpflow [-i interface | -r pcap-file] [-u url-filter] [-w output-path] [expression]\n\n  -i interface      Listen on interface, This is same as tcpdump 'interface'\n  -r pcap-file      Read packets from file (which was created by tcpdump with the -w option)\n                    Standard input is used if file is '-'\n  -u url-filter     Matches which urls will be dumped\n  -w output-path    Write the http request and response to a specific directory\n\n  expression        Selects which packets will be dumped, The format is the same as tcpdump's 'expression' argument\n                    If filter expression is given, only packets for which expression is 'true' will be dumped\n                    For the expression syntax, see pcap-filter(7)\n\n  For more information, see https://github.com/six-ddc/httpflow\n```\n\n* Capture default interface\n\n```bash\n\u003e httpflow\n```\n\n* Capture all interfaces\n\n```bash\n\u003e httpflow -i any\n```\n\n* Use the expression to filter the capture results\n\n```bash\n# If no expression is given, all packets on the net will be dumped.\n# For the expression syntax, see pcap-filter(7).\n\u003e httpflow host httpbin.org or host baidu.com\n```\n\n* Use the regexp to filter request urls\n\n```bash\n\u003e httpflow -u '/user/[0-9]+'\n```\n\n* Read packets from pcap-file\n\n```bash\n# tcpdump -w a.cap\n\u003e httpflow -r a.cap\n```\n\n* Read packets from input\n\n```bash\n\u003e tcpdump -w - | httpflow -r -\n```\n\n* Write the HTTP request and response to directory `/tmp/http`\n\n```bash\n\u003e httpflow -w /tmp/http\n```\n","funding_links":[],"categories":["C++","\u003ca name=\"cpp\"\u003e\u003c/a\u003eC++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsix-ddc%2Fhttpflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsix-ddc%2Fhttpflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsix-ddc%2Fhttpflow/lists"}