ipnetwork
IPNetwork command line and C# library take care of complex network, IP, IPv4, IPv6, netmask, CIDR, subnet, subnetting, supernet, and supernetting calculation for .NET developers. It works with IPv4 as well as IPv6, is written in C#, has a light and clean API, and is fully unit-tested
File Explorer
Download Latest Version (.zip)- dotnet-tools.json
- codeql.yml
- docfx.yml
- dotnet.yml
- release.yml
- sonarcloud.yml
- dependabot.yml
- FUNDING.yml
- ipnetwork.json
- chocolateyinstall.ps1
- chocolateyuninstall.ps1
- .gitignore
- ipnetwork.nuspec
- README.md
- System.Net.BigIntegerExtensions.html
- System.Net.CidrClassFull.html
- System.Net.CidrClassLess.html
- System.Net.CidrGuess.html
- System.Net.FilterEnum.html
- System.Net.html
- System.Net.ICidrGuess.html
- System.Net.IPAddressCollection.html
- System.Net.IPAddressExtensions.html
- System.Net.IPNetwork2.html
- System.Net.IPNetworkCollection.html
- toc.html
- toc.json
- README.html
- architecture-I3QFYML2-2T2ZUHXO.min.js
- architecture-I3QFYML2-2T2ZUHXO.min.js.map
- architectureDiagram-UYN6MBPD-WBU2OYNU.min.js
- architectureDiagram-UYN6MBPD-WBU2OYNU.min.js.map
- blockDiagram-ZHA2E4KO-IZKTV5IP.min.js
- blockDiagram-ZHA2E4KO-IZKTV5IP.min.js.map
- bootstrap-icons-OCU552PF.woff
- bootstrap-icons-X6UQXWUS.woff2
- c4Diagram-6F5ED5ID-X53KYE5F.min.js
- c4Diagram-6F5ED5ID-X53KYE5F.min.js.map
- chunk-2YMHYP32.min.js
- chunk-2YMHYP32.min.js.map
- chunk-33FU46FA.min.js
- chunk-33FU46FA.min.js.map
- chunk-3Z74ZUXG.min.js
- chunk-3Z74ZUXG.min.js.map
- chunk-54U54PUP.min.js
- chunk-54U54PUP.min.js.map
- chunk-5IIW54K6.min.js
- chunk-5IIW54K6.min.js.map
- chunk-6YMKSKZH.min.js
- chunk-6YMKSKZH.min.js.map
- chunk-AUO2PXKS.min.js
- chunk-AUO2PXKS.min.js.map
- chunk-BD4P4Z7J.min.js
- chunk-BD4P4Z7J.min.js.map
- chunk-BIJFJY5F.min.js
- chunk-BIJFJY5F.min.js.map
- chunk-C7DS3QYJ.min.js
- chunk-C7DS3QYJ.min.js.map
- chunk-CLIYZZ5Y.min.js
- chunk-CLIYZZ5Y.min.js.map
- chunk-CM5D5KZN.min.js
- chunk-CM5D5KZN.min.js.map
- chunk-CXRPJJJE.min.js
- chunk-CXRPJJJE.min.js.map
- chunk-DTUU2GN4.min.js
- chunk-DTUU2GN4.min.js.map
- chunk-EDJWACL4.min.js
- chunk-EDJWACL4.min.js.map
- chunk-EKP7MBOP.min.js
- chunk-EKP7MBOP.min.js.map
- chunk-I4ZXTPQC.min.js
- chunk-I4ZXTPQC.min.js.map
- chunk-IJ4BRSPX.min.js
- chunk-IJ4BRSPX.min.js.map
- chunk-IQQ46AC6.min.js
- chunk-IQQ46AC6.min.js.map
- chunk-ISDTAGDN.min.js
- chunk-ISDTAGDN.min.js.map
- chunk-JL3VILNY.min.js
- chunk-JL3VILNY.min.js.map
- chunk-N4YULA37.min.js
- chunk-N4YULA37.min.js.map
- chunk-N6ME3NZU.min.js
- chunk-N6ME3NZU.min.js.map
- chunk-OSRY5VT3.min.js
- chunk-OSRY5VT3.min.js.map
- chunk-OZ2RCKQJ.min.js
- chunk-OZ2RCKQJ.min.js.map
- chunk-PDS7545E.min.js
- chunk-PDS7545E.min.js.map
- chunk-PYPO7LRM.min.js
- chunk-PYPO7LRM.min.js.map
- chunk-TLYS76Q7.min.js
- chunk-TLYS76Q7.min.js.map
- chunk-U3SD26FK.min.js
- chunk-U3SD26FK.min.js.map
- chunk-U4DUTLYF.min.js
- chunk-U4DUTLYF.min.js.map
- chunk-UEFJDIUO.min.js
- chunk-UEFJDIUO.min.js.map
- chunk-V55NTXQN.min.js
- chunk-V55NTXQN.min.js.map
- chunk-WMZJ2DJX.min.js
- chunk-WMZJ2DJX.min.js.map
- chunk-WXIN66R4.min.js
- chunk-WXIN66R4.min.js.map
- classDiagram-LNE6IOMH-VZ67B4ZP.min.js
- classDiagram-LNE6IOMH-VZ67B4ZP.min.js.map
- classDiagram-v2-MQ7JQ4JX-4JTAVB6L.min.js
- classDiagram-v2-MQ7JQ4JX-4JTAVB6L.min.js.map
- dagre-4EVJKHTY-MHPLGZHX.min.js
- dagre-4EVJKHTY-MHPLGZHX.min.js.map
- diagram-QW4FP2JN-UOF7FAFC.min.js
- diagram-QW4FP2JN-UOF7FAFC.min.js.map
- docfx.min.css
- docfx.min.css.map
- docfx.min.js
- docfx.min.js.map
- erDiagram-6RL3IURR-PEYW6AVI.min.js
- erDiagram-6RL3IURR-PEYW6AVI.min.js.map
- es-4I4X6RME.min.js
- es-4I4X6RME.min.js.map
- flowDiagram-7ASYPVHJ-DABBKNEC.min.js
- flowDiagram-7ASYPVHJ-DABBKNEC.min.js.map
- ganttDiagram-NTVNEXSI-JVQ2N4MZ.min.js
- ganttDiagram-NTVNEXSI-JVQ2N4MZ.min.js.map
- gitGraph-YCYPL57B-3XOJ53I6.min.js
- gitGraph-YCYPL57B-3XOJ53I6.min.js.map
- gitGraphDiagram-NRZ2UAAF-WVTRWY3E.min.js
- gitGraphDiagram-NRZ2UAAF-WVTRWY3E.min.js.map
- info-46DW6VJ7-RDUIJSMX.min.js
- info-46DW6VJ7-RDUIJSMX.min.js.map
- infoDiagram-A4XQUW5V-SKLVFWJI.min.js
- infoDiagram-A4XQUW5V-SKLVFWJI.min.js.map
- journeyDiagram-G5WM74LC-AHZ7GKR5.min.js
- journeyDiagram-G5WM74LC-AHZ7GKR5.min.js.map
- kanban-definition-QRCXZQQD-MKSHYOCX.min.js
- kanban-definition-QRCXZQQD-MKSHYOCX.min.js.map
- katex-ROPKEHCO.min.js
- katex-ROPKEHCO.min.js.map
- lunr.ar-A6ZT2INA.min.js
- lunr.ar-A6ZT2INA.min.js.map
- lunr.da-WWM276CR.min.js
- lunr.da-WWM276CR.min.js.map
- lunr.de-XXPRKDAY.min.js
- lunr.de-XXPRKDAY.min.js.map
- lunr.du-NO4L2LL3.min.js
- lunr.du-NO4L2LL3.min.js.map
- lunr.el-5ZSSJVMA.min.js
- lunr.el-5ZSSJVMA.min.js.map
- lunr.es-ZH6Q76E6.min.js
- lunr.es-ZH6Q76E6.min.js.map
- lunr.fi-S7WJSBCP.min.js
- lunr.fi-S7WJSBCP.min.js.map
- lunr.fr-H2QNBELV.min.js
- lunr.fr-H2QNBELV.min.js.map
- lunr.he-TTLAK4MN.min.js
- lunr.he-TTLAK4MN.min.js.map
- lunr.hi-PWWMAGLU.min.js
- lunr.hi-PWWMAGLU.min.js.map
- lunr.hu-DLG2DSVM.min.js
- lunr.hu-DLG2DSVM.min.js.map
- lunr.hy-FFQJAR7M.min.js
- lunr.hy-FFQJAR7M.min.js.map
- lunr.it-VQNLJLPR.min.js
- lunr.it-VQNLJLPR.min.js.map
- lunr.ja-J6QHZSR2.min.js
- lunr.ja-J6QHZSR2.min.js.map
- lunr.jp-M45D3XJE.min.js
- lunr.jp-M45D3XJE.min.js.map
- lunr.kn-ASLXFRTC.min.js
- lunr.kn-ASLXFRTC.min.js.map
- lunr.ko-RHF2BDE4.min.js
- lunr.ko-RHF2BDE4.min.js.map
- lunr.nl-2BITG354.min.js
- lunr.nl-2BITG354.min.js.map
- lunr.no-WPLSHWFO.min.js
- lunr.no-WPLSHWFO.min.js.map
- lunr.pt-V2XEBELC.min.js
- lunr.pt-V2XEBELC.min.js.map
- lunr.ro-O76266FJ.min.js
- lunr.ro-O76266FJ.min.js.map
- lunr.ru-G56UDXYH.min.js
- lunr.ru-G56UDXYH.min.js.map
- lunr.sa-LD5PRAIS.min.js
- lunr.sa-LD5PRAIS.min.js.map
- lunr.sv-7VRY4UDB.min.js
- lunr.sv-7VRY4UDB.min.js.map
- lunr.ta-OWB7AURB.min.js
- lunr.ta-OWB7AURB.min.js.map
- lunr.te-JGGL3BFP.min.js
- lunr.te-JGGL3BFP.min.js.map
- lunr.th-O4JBL3IY.min.js
- lunr.th-O4JBL3IY.min.js.map
- lunr.tr-WXUV733C.min.js
- lunr.tr-WXUV733C.min.js.map
- lunr.vi-3U4A337N.min.js
- lunr.vi-3U4A337N.min.js.map
- main.css
- main.js
- mermaid.core-QWHI4VJR.min.js
- mermaid.core-QWHI4VJR.min.js.map
- mindmap-definition-GWI6TPTV-XCX7U2FR.min.js
- mindmap-definition-GWI6TPTV-XCX7U2FR.min.js.map
- packet-W2GHVCYJ-ZZMTAWKW.min.js
- packet-W2GHVCYJ-ZZMTAWKW.min.js.map
- pie-BEWT4RHE-VFWRUT6J.min.js
- pie-BEWT4RHE-VFWRUT6J.min.js.map
- pieDiagram-YF2LJOPJ-ITGVNBO2.min.js
- pieDiagram-YF2LJOPJ-ITGVNBO2.min.js.map
- quadrantDiagram-OS5C2QUG-BN35C5UH.min.js
- quadrantDiagram-OS5C2QUG-BN35C5UH.min.js.map
- requirementDiagram-MIRIMTAZ-CXICLXCG.min.js
- requirementDiagram-MIRIMTAZ-CXICLXCG.min.js.map
- sankeyDiagram-Y46BX6SQ-LTJNBPUP.min.js
- sankeyDiagram-Y46BX6SQ-LTJNBPUP.min.js.map
- search-worker.min.js
- search-worker.min.js.map
- sequenceDiagram-G6AWOVSC-UJVWCU2P.min.js
- sequenceDiagram-G6AWOVSC-UJVWCU2P.min.js.map
- stateDiagram-MAYHULR4-UPNPJ5ZA.min.js
- stateDiagram-MAYHULR4-UPNPJ5ZA.min.js.map
- stateDiagram-v2-4JROLMXI-COTI64PW.min.js
- stateDiagram-v2-4JROLMXI-COTI64PW.min.js.map
- tex-svg-full-SL33OL2J.min.js
- tex-svg-full-SL33OL2J.min.js.map
- timeline-definition-U7ZMHBDA-I7GF7M6N.min.js
- timeline-definition-U7ZMHBDA-I7GF7M6N.min.js.map
- xychartDiagram-6QU3TZC5-MQVPM64I.min.js
- xychartDiagram-6QU3TZC5-MQVPM64I.min.js.map
- favicon.ico
- index.html
- index.json
- logo.svg
- manifest.json
- toc.html
- toc.json
- xrefmap.yml
- .manifest
- System.Net.BigIntegerExtensions.yml
- System.Net.CidrClassFull.yml
- System.Net.CidrClassLess.yml
- System.Net.CidrGuess.yml
- System.Net.FilterEnum.yml
- System.Net.ICidrGuess.yml
- System.Net.IPAddressCollection.yml
- System.Net.IPAddressExtensions.yml
- System.Net.IPNetwork2.yml
- System.Net.IPNetworkCollection.yml
- System.Net.yml
- toc.yml
- docfx.json
- index.md
- toc.yml
- release.bat
- release.build
- Action.cs
- ActionComputer.cs
- ActionResult.cs
- ArgParsed.cs
- CidrParse.cs
- ConsoleApplication.csproj
- IFormatter.cs
- JsonFormatter.cs
- packages.lock.json
- Program.cs
- ProgramContext.cs
- TextFormatter.cs
- AssemblyInfo.cs
- BigIntegerExtensions.cs
- CidrClassFull.cs
- CidrClassLess.cs
- CidrGuess.cs
- CidrNetworkAware.cs
- Filter.cs
- ICidrGuess.cs
- IPAddressCollection.cs
- IPAddressExtensions.cs
- IPNetwork2.cs
- IPNetwork2BitsSet.cs
- IPNetwork2Contains.cs
- IPNetwork2Ctor.cs
- IPNetwork2GetHashCode.cs
- IPNetwork2IANAblock.cs
- IPNetwork2IComparableIPNetworkMembers.cs
- IPNetwork2IEquatableIPNetworkMembers.cs
- IPNetwork2InternalParse.cs
- IPNetwork2ISerializable.cs
- IPNetwork2ListIPAddress.cs
- IPNetwork2Members.cs
- IPNetwork2Operators.cs
- IPNetwork2Overlap.cs
- IPNetwork2Parse.cs
- IPNetwork2ParseRange.cs
- IPNetwork2Print.cs
- IPNetwork2Subnet.cs
- IPNetwork2Substract.cs
- IPNetwork2Supernet.cs
- IPNetwork2SupernetArray.cs
- IPNetwork2ToCidr.cs
- IPNetwork2ToIPAddress.cs
- IPNetwork2ToNetmask.cs
- IPNetwork2ToUint.cs
- IPNetwork2TryGuessCidr.cs
- IPNetwork2TryParse.cs
- IPNetwork2UlaExtension.cs
- IPNetwork2ValidNetmask.cs
- IPNetwork2WideSubnet.cs
- IPNetwork2WildcardMask.cs
- IPNetwork2XmlSerialization.cs
- IPNetworkCollection.cs
- packages.lock.json
- Polyfills.cs
- System.Net.IPNetwork.csproj
- System.Net.IPNetwork.snk
- UniqueLocalAddress.cs
- IPNetworkBitsSetTests.cs
- IPNetworkCompareTests.cs
- IPNetworkCountTests.cs
- IPNetworkCtorTests.cs
- IPNetworkCtorWithIpAndCidrTests.cs
- IPNetworkExamplesTests.cs
- IPNetworkIanaBlocksExtendedTests.cs
- IPNetworkIanaBlocksTests.cs
- IPNetworkOperatorTests.cs
- IPNetworkOverlapTests.cs
- IPNetworkParseIpIpTests.cs
- IPNetworkParseRangeTests.cs
- IPNetworkParseStringStringTests.cs
- IPNetworkParseTests.cs
- IPNetworkPrintTests.cs
- IPNetworkResizeTests.cs
- IPNetworkSlash31Tests.cs
- IPNetworkSortTests.cs
- IPNetworkSubnetTests.cs
- IPNetworkSubtractTests.cs
- IPNetworkSupernetArrayTests.cs
- IPNetworkSupernetTests.cs
- IPNetworkToBigIntegerTests.cs
- IPNetworkToCidrTests.cs
- IPNetworkToIPAddressTests.cs
- IPNetworkToNetmaskTests.cs
- IPNetworkToStringTests.cs
- IPNetworkTryGuessCidrTests.cs
- IPNetworkTryParseCidrTests.cs
- IPNetworkTryParseTests.cs
- IPNetworkTrySubnetTests.cs
- IPNetworkTrySubtractTests.cs
- IPNetworkTrySupernetTests.cs
- IPNetworkTryToBigIntegerTests.cs
- IPNetworkTryToCidrTests.cs
- IPNetworkTryToNetmaskTests.cs
- IPNetworkTryToUintTests.cs
- IPNetworkTryWideSubnetTests.cs
- IPNetworkUsableTests.cs
- IPNetworkValidNetmaskTests.cs
- IPNetworkWideSubnetTests.cs
- IPNetworkV6BitsSetTests.cs
- IPNetworkV6ContainsTests.cs
- IPNetworkV6CountTests.cs
- IPNetworkV6CtorWithIpAndCidrTests.cs
- IPNetworkV6ExamplesTests.cs
- IPNetworkV6OverlapTests.cs
- IPNetworkV6ParseIpIpTests.cs
- IPNetworkV6ParseStringStringTests.cs
- IPNetworkV6ParseStringTests.cs
- IPNetworkV6ParseTests.cs
- IPNetworkV6SubnetTests.cs
- IPNetworkV6SubtractTests.cs
- IPNetworkV6ToBigIntegerTests.cs
- IPNetworkV6ToCidrTests.cs
- IPNetworkV6ToNetmaskTests.cs
- IPNetworkV6ToStringTests.cs
- IPNetworkV6TryGuessCidrTests.cs
- IPNetworkV6TryParseCidrTests.cs
- IPNetworkV6TrySubnetTests.cs
- IPNetworkV6TrySupernetTests.cs
- IPNetworkV6TryToBigIntegerTests.cs
- IPNetworkV6TryToCidrTests.cs
- IPNetworkV6TryToNetmaskTests.cs
- IPNetworkV6UsableTests.cs
- IPNetworkV6ValidNetmaskTests.cs
- ArchitectureTest.cs
- BigIntegerBitWiseUnitTest.cs
- BigIntegerToUnitTest.cs
- CidrClassFullIpv4UnitTest.cs
- CidrClassFullIpv6UnitTest.cs
- CidrClassLessUnitTest.cs
- CidrNetworkAwareUnitTest.cs
- ConsoleJsonOutputTest.cs
- ConsoleUnitTest.cs
- ContainsConcurrencyUnitTest.cs
- ContainsUnitTest.cs
- coverlet.runsettings
- DataContractSerializeHelper.cs
- EqualsUnitTest.cs
- GetHashCodeUnitTest.cs
- GlobalUsings.cs
- HashSetUnitTest.cs
- HashSetUnitTestEqualsIPv6VsIPv4.cs
- HashSetUnitTestHashCodeAdd3.cs
- IPAddressCollectionSecurityTests.cs
- IPAddressCollectionUnitTest.cs
- IPAddressExtensionTests.cs
- IPAddressTest.cs
- IPNetwork2DeserializationHashCodeTests.cs
- IPNetworkCollectionCtorTests.cs
- IPNetworkCollectionCurrentTests.cs
- IPNetworkCollectionEnumeratorTests.cs
- IPNetworkCollectionMoveNextTests.cs
- IPNetworkCollectionResetTests.cs
- packages.lock.json
- SerializeDataContractTest.cs
- SerializeJsonTest.cs
- SerializeXmlTest.cs
- TestProject.csproj
- TryParseUnitTest.cs
- UniqueLocalAddressTest.cs
- WildcardMaskIPv4UnitTest.cs
- WildcardMaskIPv6UnitTest.cs
- .editorconfig
- Directory.Build.props
- global.json
- ipnetwork.sln
- ipnetwork.sln.DotSettings
- System.Net.IPNetwork.snk
- .coveralls.yml
- .gitignore
- .mergify.yml
- appveyor.yml
- CODE_OF_CONDUCT.md
- DONATE.jpg
- DONATE.md
- ipnetwork.png
- LICENSE
- llms.txt
- README.md
# Installation Guide
git clone https://github.com/lduchosal/ipnetwork
Downloads the entire project code from GitHub to your computer.
cd ipnetwork
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommended- Homebrew A package manager for macOS/Linux.
- Chocolatey A package manager for Windows.
brew install lduchosal/ipnetwork/ipnetwork
Installs the pre-built package via Homebrew β no source build required.
choco install ipnetwork
Installs directly via Chocolatey (Windows).
Pulled directly from this repo's README.
3. .NET
Mediumcd src/ConsoleApplication
This project's files live in a subfolder, so move into it first.
dotnet restore
Downloads the packages the project depends on.
dotnet run
Builds the project and runs it immediately.
