{"id":13594637,"url":"https://github.com/dotpcap/packetnet","last_synced_at":"2025-05-14T03:06:33.565Z","repository":{"id":32778369,"uuid":"36370202","full_name":"dotpcap/packetnet","owner":"dotpcap","description":"Official repository - High performance .Net assembly for dissecting and constructing network packets such as ethernet, ip, tcp, udp etc.","archived":false,"fork":false,"pushed_at":"2025-03-05T15:56:21.000Z","size":3260,"stargazers_count":500,"open_issues_count":16,"forks_count":105,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-04-06T06:01:29.638Z","etag":null,"topics":["c-sharp","ethernet","network-analysis"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dotpcap.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}},"created_at":"2015-05-27T13:55:48.000Z","updated_at":"2025-04-04T18:02:26.000Z","dependencies_parsed_at":"2024-05-28T19:27:57.993Z","dependency_job_id":"6f3fd968-d513-4092-abc6-6aad446ab926","html_url":"https://github.com/dotpcap/packetnet","commit_stats":{"total_commits":580,"total_committers":32,"mean_commits":18.125,"dds":0.5172413793103448,"last_synced_commit":"b336e1b6d507623438f1237367581d50281e2013"},"previous_names":["chmorgan/packetnet"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotpcap%2Fpacketnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotpcap%2Fpacketnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotpcap%2Fpacketnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotpcap%2Fpacketnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dotpcap","download_url":"https://codeload.github.com/dotpcap/packetnet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248695309,"owners_count":21146952,"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":["c-sharp","ethernet","network-analysis"],"created_at":"2024-08-01T16:01:36.872Z","updated_at":"2025-05-14T03:06:33.558Z","avatar_url":"https://github.com/dotpcap.png","language":"C#","funding_links":[],"categories":["C\\#","C#","C# #"],"sub_categories":[],"readme":"[![NuGet](https://img.shields.io/nuget/v/PacketDotNet.svg)](https://www.nuget.org/packages/PacketDotNet/)\n[![Build status](https://github.com/chmorgan/packetnet/workflows/master/badge.svg)](https://github.com/chmorgan/packetnet/actions)\n\nPacket.Net\n==========\n\nPacket.Net is a high performance .NET package for dissecting and constructing\nnetwork packets such as Ethernet, IP, TCP, UDP, etc.\n\nOriginally created by Chris Morgan \u003cchmorgan@gmail.com\u003e\n\nPerformance\n======\nPacket.Net has been designed for the highest performance possible. As such we aim to perform the most minimal amount of data processing in order to fully determine the datagram nesting.\n\nFor example a TCP packet would be parsed into a series of linked objects like: Ethernet -\u003e IPv4 -\u003e TCP but no further data processing is performed until particular fields are accessed. In addition the objects point to packet memory in-place, avoiding allocation and copying of the packet contents unless necessary, such as when altering data payloads or resizing variable length fields.\n\nTest suite\n=====\nPacket.Net has a comprehensive suite of tests for each of the supported packet types, see the 'Test' subdirectory.\n\nSupported packet formats\n=====\n* Ethernet\n* IPv4 / IPv6\n* TCP\n* UDP\n* ICMP v4 and v6\n* IGMP v2 and v3\n* L2TP\n* PPPoE\n* OSPF\n* Wake-on-lan\n* IEEE 802.1Q\n* IEEE 802.1ad\n* IEEE 802.11\n* DRDA\n* ARP\n* LLDP\n* LSA\n* Linux SSL\n* PPP\n* and probably more, see the source code for the latest list\n\nCapture example\n==============\nSee [Capturing packets example](https://github.com/chmorgan/packetnet/tree/master/Examples/CapturingAndParsingPackets)\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"/terminalizer/captureexample.gif?raw=true\"/\u003e\u003c/p\u003e\n\nGetting started\n===============\n\nA few basic examples can be found in the Examples/ directory.\n\n\nDebug vs. Release builds\n========================\n\nThe Debug build depends on log4net and has log4net calls in some of its classes and\ncode paths.\n\nThe Release build does NOT depend on log4net and, taking advantage of conditional\nmethod attributes, does not include any calls to log4net methods. This ensures that there\nis no performance impact on release builds.\n\n\nPerformance benchmarks\n======================\n\nThe Test/ directory contains a few benchmarks that were used to guide the design\nand implementation of Packet.Net. These benchmarks either contain 'performance' or\n'benchmark' in their names.\n\nIf you have a performance concern or issue you'll want to write a concise test that reproduces\nyour usage case in a controlled manner. It will then be possible to run and re-run\nthis test case in various profiling modes in order to look at potential ways of\noptimizing code. The tests will also provide a baseline from which to compare\nany proposed performance improvements in order to ensure that changes are not\ninadvertantly reducing instead of increasing performance.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotpcap%2Fpacketnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdotpcap%2Fpacketnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotpcap%2Fpacketnet/lists"}