{"id":15148737,"url":"https://github.com/nplab/packetdrill","last_synced_at":"2025-07-23T12:34:48.502Z","repository":{"id":31283366,"uuid":"34845340","full_name":"nplab/packetdrill","owner":"nplab","description":"packetdrill with UDPLite and SCTP support and bug fixes for FreeBSD","archived":false,"fork":false,"pushed_at":"2025-04-23T22:00:10.000Z","size":2989,"stargazers_count":54,"open_issues_count":16,"forks_count":26,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-19T08:11:18.619Z","etag":null,"topics":["freebsd","linux","macos","netbsd","network","openbsd","packetdrill","sctp","tcp","testing","udp","udp-lite"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"simpajj/video-comparison-tool","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nplab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2015-04-30T09:10:13.000Z","updated_at":"2025-04-23T22:00:14.000Z","dependencies_parsed_at":"2023-11-06T13:47:00.445Z","dependency_job_id":"cdb470a4-543d-4803-a78b-f5ca10e1adfe","html_url":"https://github.com/nplab/packetdrill","commit_stats":{"total_commits":1077,"total_committers":29,"mean_commits":37.13793103448276,"dds":"0.40297121634168986","last_synced_commit":"80a3a884c608ff1252482d502266fcdd242f4ec7"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nplab/packetdrill","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nplab%2Fpacketdrill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nplab%2Fpacketdrill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nplab%2Fpacketdrill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nplab%2Fpacketdrill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nplab","download_url":"https://codeload.github.com/nplab/packetdrill/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nplab%2Fpacketdrill/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266680297,"owners_count":23967791,"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","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["freebsd","linux","macos","netbsd","network","openbsd","packetdrill","sctp","tcp","testing","udp","udp-lite"],"created_at":"2024-09-26T13:22:18.680Z","updated_at":"2025-07-23T12:34:48.467Z","avatar_url":"https://github.com/nplab.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# packetdrill\n[![Coverity Scan Build Status](https://scan.coverity.com/projects/13944/badge.svg)](https://scan.coverity.com/projects/packetdrill-nplab)\n\nA fork of [packetdrill](https://code.google.com/p/packetdrill/) which adds support for\n* UDPLite as specified in [RFC 3828](https://tools.ietf.org/html/rfc3828)\n* SCTP as specified in [RFC 4960](https://tools.ietf.org/html/rfc4960),  [RFC 4820](https://tools.ietf.org/html/rfc4820), [RFC 6458](https://tools.ietf.org/html/rfc6458), and [RFC 7053](https://tools.ietf.org/html/rfc7053)\n\nand generic bugfixes, espcially several fixes required to get packetdrill working on FreeBSD.\nMacOS (El Capitan and higher) is also supported.\n\n## Information\nThere are some papers ([;login: October 2013](https://www.usenix.org/system/files/login/articles/10_cardwell-online.pdf), [USENIX ATC '13](https://www.usenix.org/system/files/conference/atc13/atc13-cardwell.pdf)) and a presentation ([ICCRG IETF87](https://www.ietf.org/proceedings/87/slides/slides-87-iccrg-1.pdf)) describing packetdrill.\n\n## Installation\n### MacOS (El Capitan and higer)\nDownload the sources, compile them and install the binary:\n```\ngit clone https://github.com/nplab/packetdrill.git\ncd packetdrill/gtests/net/packetdrill/\n./configure\nmake\nsudo cp packetdrill /usr/bin\n```\n### Linux (Ubuntu)\nFor installing the required packages run:\n```\nsudo apt-get install make git libsctp-dev bison flex python3 libssl-dev\n```\nThen download the sources, compile them and install the binary:\n```\ngit clone https://github.com/nplab/packetdrill.git\ncd packetdrill/gtests/net/packetdrill/\n./configure\nmake\nsudo cp packetdrill /usr/bin\n```\n### FreeBSD\nFor installing the required packages run:\n```\nsudo pkg install git bison python\n```\nThen download the sources, compile them and install the binary:\n```\ngit clone https://github.com/nplab/packetdrill.git\ncd packetdrill/gtests/net/packetdrill/\n./configure\nmake\nsudo cp packetdrill /usr/local/bin\n```\nTo be able to run packetdrill in combination with `sudo` run\n```\nsudo sysctl -w vm.old_mlock=1\n```\nor add\n```\nvm.old_mlock=1\n```\nto `/etc/sysctl.conf` and reboot.\n\n### Windows (Windows 11)\npacketdrill has no Windows support, but the packetdrill remote mode works inside the Windows Subsystem for Linux version 1 (WSL1). Note, WSL1 maps Linux system calls to Windows system calls, whereas WSL2 is basically a Linux VM. To test the Windows implementation, WSL1 is required.\n\nFollow the Linux instructions for installation.\n\nThe packetdrill remote mode requires two hosts, the wire\\_client (i.e., the system under test, Windows) and the wire\\_server (i.e., the system that captures the packets, e.g. Ubuntu).\n\nTo start the wire\\_server with interface enp0s5f0 connecting to wire\\_client.\n```\nsudo packetdrill --wire_server --wire_server_dev=enp0s5f0\n```\nTo start the wire\\_client on Windows, first start a cmd as Administrator and run wsl within it. Inside the wsl, run\n```\nsudo packetdrill --wire_client --wire_client_dev=eth1 --wire_server_ip=10.1.2.3 \u003cscript_path\u003e\n```\nwhere eth1 is wsl's interface to the wire\\_server and 10.1.2.3 is the real IP address of wire\\_server's enp0s5f0 interface.\n\n##  Continous Integration\nThe status of continous integration testing is available from [Buildbot](http://buildbot.nplab.de:38010/#/console).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnplab%2Fpacketdrill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnplab%2Fpacketdrill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnplab%2Fpacketdrill/lists"}