{"id":19908794,"url":"https://github.com/farlepet/nfqueue_tamper","last_synced_at":"2026-04-21T13:03:16.794Z","repository":{"id":150477258,"uuid":"419491298","full_name":"farlepet/nfqueue_tamper","owner":"farlepet","description":"Tool to assist in testing robustness of network-attached services in the presence of malformed data.","archived":false,"fork":false,"pushed_at":"2023-05-26T01:17:47.000Z","size":30,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-28T16:57:51.497Z","etag":null,"topics":["linux","network-security","network-tools","nfqueue"],"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/farlepet.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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-10-20T21:13:25.000Z","updated_at":"2023-07-18T09:07:44.000Z","dependencies_parsed_at":"2023-04-06T10:01:22.336Z","dependency_job_id":null,"html_url":"https://github.com/farlepet/nfqueue_tamper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/farlepet/nfqueue_tamper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farlepet%2Fnfqueue_tamper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farlepet%2Fnfqueue_tamper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farlepet%2Fnfqueue_tamper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farlepet%2Fnfqueue_tamper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/farlepet","download_url":"https://codeload.github.com/farlepet/nfqueue_tamper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farlepet%2Fnfqueue_tamper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32093156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["linux","network-security","network-tools","nfqueue"],"created_at":"2024-11-12T21:13:29.145Z","updated_at":"2026-04-21T13:03:16.786Z","avatar_url":"https://github.com/farlepet.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"NFQueue Tamper\n==============\n\nA tool to help in testing client/server robustness in the presence of malformed\ndata.\n\nSupported protocols:\n - IPv4\n   - UDP\n   - TCP\n\nBuilding\n--------\n\nRequirements:\n - `g++`/`clang++`\n - `make`\n - boost: https://www.boost.org/\n - libnetfilter_queue: https://www.netfilter.org/projects/libnetfilter_queue/\n\nBuild with `make`\n\nUsage\n-----\n\n    nfqueue_tamer -q \u003cqueue\u003e -t \"method1;opt1;opt2\" -t \"method2;opt1\"\n\nQueue number defaults to 0. Must be run as root.\n\nTo create a queue:\n\n    iptables -A \u003cchain\u003e [filter criteria] -j NFQUEUE --queue-num \u003cqueue\u003e\n\nFor example, to trap all outbound UDP traffic coming from port 63:\n\n    iptables -A OUTPUT -p udp --sport 63 -J NFQUEUE --queue-num 0\n\nAvailable methods and associated options:\n - `rand` - Randomly tamper with data\n   - `off` - Offset, or offset range, at which to apply randomization\n     - Defaults to 0:-1 (0 - end)\n   - `con` - If offset is a range, whether or not modified bytes must be consecutive\n     - Defaults to 0 (non-consecutive allowed)\n     - NOT CURRENTLY SUPPORTED\n   - `sz`  - Number of bytes to modify, can be a range\n     - Defaults to 1\n - `fixed` - Overwrite region of data with supplied values\n   - `off` - Offset at which to apply data\n     - Cannot be a range\n   - `data` - Hex data\n - `replace` - Replace bytes within matching sequence\n   - `off` - Offset into sequence to start replacing\n     - Cannot be a range\n     - Can be negative\n   - `seq` - Hex sequence to search for\n   - `data` - Replacement data\n   - `multi` - Whether to allow multiple replacements\n     - NOTE: Previously matching sequence is currently skipped\n\nGlobal options:\n - `chance` - How likely the tamper method is to be used on a given packet\n   - Probability value between 0 and 1\n   - Defaults to 1\n\nExample:\n\n    nfqueue_tamper -q 0 -t \"rand;chance=.5;off=0:4;sz=1:2\" -t \"fixed;chance=0.1;off=16;data=0FEA0011\"\n\nThis will have a 50% chance on every packet of replacing one or two of the first\nfive bytes in the payload (application-layer data) with a random value, and a 10%\nchance of replacing data at offset 16-19 with 0F,EA,00,11.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarlepet%2Fnfqueue_tamper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffarlepet%2Fnfqueue_tamper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarlepet%2Fnfqueue_tamper/lists"}