{"id":13420305,"url":"https://github.com/libnet/libnet","last_synced_at":"2026-02-21T19:34:28.624Z","repository":{"id":504770,"uuid":"132141","full_name":"libnet/libnet","owner":"libnet","description":"A portable framework for low-level network packet construction","archived":false,"fork":false,"pushed_at":"2025-02-19T10:11:37.000Z","size":5579,"stargazers_count":944,"open_issues_count":10,"forks_count":261,"subscribers_count":69,"default_branch":"master","last_synced_at":"2025-12-07T06:15:34.521Z","etag":null,"topics":["arp","bgp","dhcp","dns","dot1q","dot1x","gre","hsrp","igmp","mpls","network-packets","ntp","ospf","rip","tcp","udp"],"latest_commit_sha":null,"homepage":"https://codedocs.xyz/libnet/libnet/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libnet.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","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}},"created_at":"2009-02-19T00:11:23.000Z","updated_at":"2025-12-06T12:32:30.000Z","dependencies_parsed_at":"2024-01-07T01:18:28.923Z","dependency_job_id":"cf2696e2-e6d6-4848-ae44-c972e0fe7218","html_url":"https://github.com/libnet/libnet","commit_stats":{"total_commits":786,"total_committers":47,"mean_commits":16.72340425531915,"dds":0.5508905852417303,"last_synced_commit":"58871f3452189af54fc1ce77d4817558c8332372"},"previous_names":["sam-github/libnet"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/libnet/libnet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libnet%2Flibnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libnet%2Flibnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libnet%2Flibnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libnet%2Flibnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libnet","download_url":"https://codeload.github.com/libnet/libnet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libnet%2Flibnet/sbom","scorecard":{"id":588016,"data":{"date":"2025-08-11","repo":{"name":"github.com/libnet/libnet","commit":"6435f44470d08e87c7387bec4e9ce3eec892d108"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4,"checks":[{"name":"Code-Review","score":2,"reason":"Found 4/19 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build-freebsd.yml:1","Warn: no topLevel permission defined: .github/workflows/build-windows.yml:1","Warn: no topLevel permission defined: .github/workflows/build.yml:1","Warn: no topLevel permission defined: .github/workflows/container.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-freebsd.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/build-freebsd.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-freebsd.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/build-freebsd.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-windows.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/build-windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-windows.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/build-windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-windows.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/build-windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/container.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/container.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/libnet/libnet/release.yml/master?enable=pin","Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:2","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   7 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 2-Clause \"Simplified\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.3 not signed: https://api.github.com/repos/libnet/libnet/releases/123364062","Warn: release artifact v1.2 not signed: https://api.github.com/repos/libnet/libnet/releases/20744818","Warn: release artifact v1.2-rc4 not signed: https://api.github.com/repos/libnet/libnet/releases/20568047","Warn: release artifact v1.2-rc3 not signed: https://api.github.com/repos/libnet/libnet/releases/20336094","Warn: release artifact v1.1.6 not signed: https://api.github.com/repos/libnet/libnet/releases/20336031","Warn: release artifact v1.3 does not have provenance: https://api.github.com/repos/libnet/libnet/releases/123364062","Warn: release artifact v1.2 does not have provenance: https://api.github.com/repos/libnet/libnet/releases/20744818","Warn: release artifact v1.2-rc4 does not have provenance: https://api.github.com/repos/libnet/libnet/releases/20568047","Warn: release artifact v1.2-rc3 does not have provenance: https://api.github.com/repos/libnet/libnet/releases/20336094","Warn: release artifact v1.1.6 does not have provenance: https://api.github.com/repos/libnet/libnet/releases/20336031"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/container.yml:10"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-20T21:05:52.186Z","repository_id":504770,"created_at":"2025-08-20T21:05:52.186Z","updated_at":"2025-08-20T21:05:52.186Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29691045,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T18:18:25.093Z","status":"ssl_error","status_checked_at":"2026-02-21T18:18:22.435Z","response_time":107,"last_error":"SSL_read: 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":["arp","bgp","dhcp","dns","dot1q","dot1x","gre","hsrp","igmp","mpls","network-packets","ntp","ospf","rip","tcp","udp"],"created_at":"2024-07-30T22:01:30.877Z","updated_at":"2026-02-21T19:34:28.608Z","avatar_url":"https://github.com/libnet.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings","\u003ca id=\"79499aeece9a2a9f64af6f61ee18cbea\"\u003e\u003c/a\u003e浏览嗅探\u0026\u0026流量拦截\u0026\u0026流量分析\u0026\u0026中间人","\u003ca id=\"64f068672e615343db9235f1973d8fba\"\u003e\u003c/a\u003e网络数据包","C"],"sub_categories":["\u003ca id=\"99398a5a8aaf99228829dadff48fb6a7\"\u003e\u003c/a\u003e未分类-Network","\u003ca id=\"b239f12aca7aa942b45836032cbef99a\"\u003e\u003c/a\u003e转换"],"readme":"[![1b][]][1] [![2b][]][2] [![3b][]][3] [![CodeDocs Status][]][CodeDocs] \u003cimg align=\"right\" src=\"doc/libnet.gif\"\u003e\n\nPacket Construction and Injection\n=================================\n\nLibnet is an API to help with the construction and injection of network\npackets.  It provides a portable framework for low-level network packet\nwriting and handling (use libnet in conjunction with libpcap and you can\nwrite some really cool stuff).  Libnet includes packet creation at the\nIP layer and at the link layer as well as a host of supplementary and\ncomplementary functionality.\n\nLibnet is very handy with which to write network tools and network test\ncode.  Some projects, available in Debian/Ubuntu and OpenBSD, using\nlibnet are:\n\n- [arping](https://github.com/ThomasHabets/arping)\n- [ettercap](https://www.ettercap-project.org/)\n- [ipguard](http://ipguard.deep.perm.ru/)\n- [isic](http://isic.sourceforge.net/)\n- [nemesis](https://github.com/libnet/nemesis/)\n- [packit](http://packetfactory.openwall.net/projects/packit/)\n- [tcptraceroute](https://web.archive.org/web/20130424094134/http://michael.toren.net/code/tcptraceroute/)\n- [yersinia](https://web.archive.org/web/20180522141004/http://www.yersinia.net/)\n\n\u003e **NOTE:** Legacy code written for *libnet-1.0.x* is unfortunately\n\u003e           **incompatible** with *libnet-1.1.x* and later.  \n\u003e           See the [Migration Guide](doc/MIGRATION.md) for porting help.\n\n\nUsing -lnet\n-----------\n\nLibnet is installed as a library and a set of include files.  The main\ninclude file to use in your program is:\n\n    #include \u003clibnet.h\u003e\n\nTo get the correct search paths to both the header and library files,\nuse the standard `pkg-config` tool (old `libnet-config` is deprecated):\n\n    $ pkg-config --libs --static --cflags libnet\n    -I/usr/local/include -L/usr/local/lib -lnet\n\nThe prefix path `/usr/local/` shown here is only the default.  Use the\n`configure` script to select a different prefix when installing libnet.\n\nFor GNU autotools based projects, use the following in `configure.ac`:\n\n    # Check for required libraries\n    PKG_CHECK_MODULES([libnet], [libnet \u003e= 1.2])\n\nand in your `Makefile.am`:\n\n    proggy_CFLAGS = $(libnet_CFLAGS)\n    proggy_LDADD  = $(libnet_LIBS)\n\n\u003e Online docs available at \u003chttps://codedocs.xyz/libnet/libnet/\u003e.  See\n\u003e the man page and [sample test code](sample/) for more information.\n\n\nBuilding\n--------\n\nFirst download the [latest release][] from GitHub.  Libnet employs the\n[GNU configure and build system][autotools].  The release tarballs and\nzip files ship with a pre-built `configure` script:\n\n    $ tar xf libnet-x.y.z.tar.gz\n    $ cd libnet-x.y.z/\n    $ ./configure \u0026\u0026 make\n    $ sudo make install\n\nTo list available options, type \u003ckbd\u003e./configure --help\u003c/kbd\u003e\n\n### Building from GIT/GitHub\n\nWhen building from GIT, use \u003ckbd\u003e./autogen.sh\u003c/kbd\u003e to generate the\n`configure` script.  For this you need the full suite of the GNU\nautotools: autoconf (\u003e=2.69), automake (\u003e=1.14), libtool (\u003e=2.4.2).\n\nHow to install the dependencies varies by system, but on many Debian derived\nsystems, `apt` can be used:\n\n    $ sudo apt install autoconf automake libtool\n    $ ./autogen.sh\n    $ ./configure \u0026\u0026 make\n    $ sudo make install\n\n\n### Using Conan\n\nLibnet is available on [Conan Center](https://conan.io/center/libnet).  To use,\nadd `libnet/1.2` to your `conanfile.txt`\n\n### Building with Docker\n\nFirst build the dev. contrainer:\n\n    $ cd .devcontainer\n    $ docker build -t libnet-builder .\n\nThen compile libnet with docker:\n\n    $ cd ..\n    $ docker run -it --rm -v $(pwd):$(pwd) --workdir=$(pwd) libnet-builder\n    $ ./autogen.sh                 # If you've cloned from GitHub\n    $ ./configure\n    $ make\n\n### Building with MSYS2\n\nFirst install all the dependencies we need including the Npcap SDK.\n\nType in your MSYS2 terminal to install the dependencies:\n\n```bash\npacman -S autoconf automake libtool unzip\n```\n\nDownload the Npcap SDK and unzips it as a `npcap` directory to easily add it to the `configure` command:\n\n```bash\nwget https://npcap.com/dist/npcap-sdk-1.13.zip \u0026\u0026 unzip npcap-sdk-1.13.zip -d npcap\n```\n\nDownload the libnet from it's [latest release][], unpack it and then generate a Makefiles:\n\n```bash\ncd libnet-x.y \u0026\u0026 ./autogen.sh\n```\n\n```bash\nCFLAGS=\"-I${HOME}/npcap/Include -Wno-incompatible-pointer-types\" LDFLAGS=\"-L${HOME}/npcap/Lib/x64\" ./configure --prefix=/ucrt64\n```\n\n\u003e [!Note]\n\u003e This is currently using a UCRT64 environment.\n\n\nBuild and then install:\n\n```bash\nmake \u0026\u0026 make install\n```\n\nBuilding Done. You can verify it's installation:\n\n```bash\npkg-config --libs --cflags libnet\n```\n\n### Running Unit Tests with CMocka\n\nRunning tests in the dev. container (above):\n\n    $ ./autogen.sh                 # If you've cloned from GitHub\n    $ ./configure --enable-tests\n    $ make check\n    make  check-TESTS\n    PASS: udld 1 - libnet_udld__checksum_calculation\n    PASS: udld 2 - libnet_build_udld__pdu_header_only\n    PASS: udld 3 - libnet_build_udld__tlv_device_id\n    PASS: udld 4 - libnet_build_udld__tlv_port_id\n    PASS: udld 5 - libnet_build_udld__tlv_echo\n    PASS: udld 6 - libnet_build_udld__tlv_message_interval\n    PASS: udld 7 - libnet_build_udld__tlv_timeout_interval\n    PASS: udld 8 - libnet_build_udld__tlv_device_name\n    PASS: udld 9 - libnet_build_udld__tlv_sequence_number\n    PASS: udld 10 - libnet_build_udld__build_whole_packet_with_checksum\n    PASS: ethernet 1 - test_libnet_build_ethernet\n    ============================================================================\n    Testsuite summary for libnet 1.3\n    ============================================================================\n    # TOTAL: 11\n    # PASS:  11\n    # SKIP:  0\n    # XFAIL: 0\n    # FAIL:  0\n    # XPASS: 0\n    # ERROR: 0\n    ============================================================================\n\n\u003e **Note:** on Linux the tests run in a separate network namespace\n\u003e (using `unshare`), so no root (sudo) access is needed, but on other\n\u003e systems you may need to to be root, or have to correct capabilities\n\u003e or permissions.\n\n### Building the Documentation\n\nTo build the documentation (optional) you need doxygen and pod2man:\n\n    $ sudo apt install doxygen\n    $ sudo apt install pod2man || sudo apt install perl\n\nFor neat graphics in the HTML documentation, also install graphviz.\nThere is also a PDF version of the docs, to build that you need quite a\nfew more packages:\n\n    $ sudo apt install texlive-extra-utils texlive-latex-extra \\\n                       texlive-fonts-recommended latex-xcolor  \\\n                       texlive-font-utils\n\nFor Microsoft CHM docs you need the HTML Help Workshop, which is part\nof Visual Studio: http://go.microsoft.com/fwlink/p/?linkid=154968, on\nUNIX and GNU/Linux systems, see `chmcmd`, which is available in the\n[FreePascal](http://www.freepascal.org/) suite:\n\n    $ sudo apt install fp-utils-3.0.4\n\n\nOrigin \u0026 References\n-------------------\n\nLibnet is widely used, but had been unmaintained for a long time and its\nauthor unreachable.  This version was forked from the 1.1.3 release\ncandidate from [packetfactory.net][origin], bug fixed, developed, and\nre-released.\n\nUse GitHub issues and pull request feature for questions and patches:\n\n  http://github.com/libnet/libnet\n\nSome old docs are available at:\n\n  http://packetfactory.openwall.net/projects/libnet/index.html\n\n-------------------------------------------------------------------------\n- v1.1 (c) 1998 - 2004 Mike D. Schiffman \u003cmike@infonexus.com\u003e  \n  http://www.packetfactory.net/libnet\n- v1.1.3 and later (c) 2009 - 2013 Sam Roberts \u003cvieuxtech@gmail.com\u003e  \n  http://github.com/libnet/libnet\n-------------------------------------------------------------------------\n\n[latest release]:  https://github.com/libnet/libnet/releases\n[autotools]:       https://autotools.io/\n[origin]:          http://packetfactory.openwall.net/projects/libnet/\n[1]:               https://github.com/libnet/libnet/actions/workflows/build.yml/\n[1b]:              https://github.com/libnet/libnet/actions/workflows/build.yml/badge.svg\n[2]:               https://github.com/libnet/libnet/actions/workflows/build-freebsd.yml/\n[2b]:              https://github.com/libnet/libnet/actions/workflows/build-freebsd.yml/badge.svg\n[3]:               https://github.com/libnet/libnet/actions/workflows/build-windows.yml/\n[3b]:              https://github.com/libnet/libnet/actions/workflows/build-windows.yml/badge.svg\n[CodeDocs]:        https://codedocs.xyz/libnet/libnet/\n[CodeDocs Status]: https://codedocs.xyz/libnet/libnet.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibnet%2Flibnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibnet%2Flibnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibnet%2Flibnet/lists"}