{"id":13826636,"url":"https://github.com/chiehmin/sheepwall","last_synced_at":"2026-04-04T21:16:44.382Z","repository":{"id":50538444,"uuid":"118343951","full_name":"chiehmin/sheepwall","owner":"chiehmin","description":"Sniff plaintext account/password/cookie on router","archived":false,"fork":false,"pushed_at":"2020-03-29T06:00:39.000Z","size":46,"stargazers_count":53,"open_issues_count":1,"forks_count":11,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-04T09:05:38.563Z","etag":null,"topics":["arm","hacking","network-monitoring","packet-sniffer","router","wallofsheep"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chiehmin.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}},"created_at":"2018-01-21T14:51:42.000Z","updated_at":"2024-04-24T02:59:55.000Z","dependencies_parsed_at":"2022-09-22T20:23:15.774Z","dependency_job_id":null,"html_url":"https://github.com/chiehmin/sheepwall","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chiehmin%2Fsheepwall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chiehmin%2Fsheepwall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chiehmin%2Fsheepwall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chiehmin%2Fsheepwall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chiehmin","download_url":"https://codeload.github.com/chiehmin/sheepwall/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225476383,"owners_count":17480215,"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":["arm","hacking","network-monitoring","packet-sniffer","router","wallofsheep"],"created_at":"2024-08-04T09:01:41.646Z","updated_at":"2026-04-04T21:16:44.262Z","avatar_url":"https://github.com/chiehmin.png","language":"C++","funding_links":[],"categories":["\u003ca id=\"7bf0f5839fb2827fdc1b93ae6ac7f53d\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"32739127f0c38d61b14448c66a797098\"\u003e\u003c/a\u003e嗅探\u0026\u0026Sniff"],"readme":"# Sheepwall\n\n[![Build Status](https://travis-ci.org/chiehmin/sheepwall.svg?branch=master)](https://travis-ci.org/chiehmin/sheepwall)\n[![Coverage Status](https://coveralls.io/repos/github/chiehmin/sheepwall/badge.svg?branch=master)](https://coveralls.io/github/chiehmin/sheepwall?branch=master)\n\nThis is a http traffic parser intended to record unprotected account, password and cookies running on **router devices**.\n\nFeatures:\n- High performance\n\t- It is designed to be run on **routers** so it is written in C/C++\n- It has been tested to be worked on [rt1900ac](https://www.synology.com/en-global/products/RT1900ac) and [rt2600ac](https://www.synology.com/en-global/products/RT2600ac)\n- ASUS routers (ex: RT-AC68U which I have tested) with [DD-WRT](https://www.dd-wrt.com/) also work well!\n\t- Most original Asus router firmwares are shipped with Linux kernel 2.6.36.4 which is too old and I don't want to support it. If you are interested, you can use ASUS's [toolchain](https://github.com/kvic-z/brcm-arm-toolchains) to build this project (modifications are needed cause g++ 4.5.3 does not support C++14).\n\n## Demo\n\nJust run the sheepwall and wait for the sheep to come in :).\n\n[![asciicast](https://asciinema.org/a/ayK4s4YQ8wf934OIDfP1wWskT.svg)](https://asciinema.org/a/ayK4s4YQ8wf934OIDfP1wWskT)\n\n## Usage\n\nQuick installation\n\n```\n# Download sheepwall binary and put it into you router\nSynologyRouter\u003e curl -L https://github.com/chiehmin/sheepwall/releases/download/v0.1.1/sheepwall_arm \u003e sheepwall\n```\n\n```\n$ sheepwall -i \u003cinterface\u003e [-w \u003clog file\u003e] [-D]\noptions:\n  -h [ --help ]          Print help messages\n  -i [ --interface ] arg Interface sniffered by sheepwall\n  -w [ --write_to ] arg  Log file\n  -D [ --daemon ]        Daemonizing... run in the background\n```\n\n## Building\n\nThis project uses `libpcap`, `boost` and `googletest`. After installing all above libraries, just simply execute `make` to build this project.\n\n### Build for ARM-based devices\n\n### Cross-compile `libpcap`\n\nWe need the arm version of `libpcap` to build our sheepwall. Here I used the `arm-linux-gnueabi-gcc` from Ubuntu's `g++-arm-linux-gnueabi` package.\n\nDownload it!\n\n```\n$ mkdir ~/arm-libpcap\n# download the libpcap source code\n$ curl -L https://github.com/the-tcpdump-group/libpcap/archive/libpcap-1.8.1.tar.gz \u003e libpcap.tar.gz\n# extract it\n$ tar -hxf libpcap.tar.gz\n```\n\ncompile it!!\n\n```\n$ mkdir ~/arm-libpcap\n$ CC=arm-linux-gnueabi-gcc \\\n./configure --host=arm-linux --prefix=/home/fatminmin/arm-libpcap --with-pcap=linux\n$ make -j4\n$ make install\n```\n\nFinally, the compiled `libpcap` will be put under `/home/fatminmin/arm-libpcap`\n\n### Cross-compile boost\n\n```\n$ curl -L https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz \u003e boost.tar.gz\n$ tar -hxf boost.tar.gz \u0026\u0026 cd boost_1_66_0\n# we only use program_options library here\n$ ./bootstrap.sh --with-libraries=program_options\n```\n\nModify `using gcc ;` to  `using gcc : arm : arm-linux-gnueabi-g++ ;` in `project-config.jam`\n\n```\n# compile it\n$ mkdir ~/arm-boost\n$ ./bjam install toolset=gcc-arm runtime-link=static --prefix=/home/fatminmin/arm-boost\n```\n\n### Compile sheepwall\n\nIn the `Makefile`, I re-defined the [Target-specific Variable](https://www.gnu.org/software/make/manual/html_node/Target_002dspecific.html) to compile sheepwall for ARM deviced.\n\n```makefile\narm: CXX := arm-linux-gnueabi-g++\narm: CXXFLAGS += -I/home/fatminmin/arm-boost/include -I/home/fatminmin/arm-libpcap/include\narm: LDFLAGS += -L/home/fatminmin/arm-boost/lib -L/home/fatminmin/arm-libpcap/lib -static\narm: build/sheepwall\n```\n\n### Run it\n\nSend it to your arm devices(Synology rt1900ac for example) and run it.\n\n```\n$ scp build/sheepwall root@router.synology.com:/root\n# in the router console\nSynologyRouter\u003e ./sheepwall -i eth0 -w cred.log -D\n```\n\n## Disclaimer\n\nUsage of sheepwall for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program.\n\n## Author\n\nChieh-Min Wang a.k.a FatMinMin\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchiehmin%2Fsheepwall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchiehmin%2Fsheepwall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchiehmin%2Fsheepwall/lists"}