---
title: "Kolla programmatiskt om ett ip tillhör en viss nätmask"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/172069-kolla-programmatiskt-om-ett-ip-tillhör-en-viss-nätmask"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "nachip"
published: "2008-06-08T09:14:34.000Z"
updated: "2008-06-09T06:58:41.000Z"
replies: 2
views: 560
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/172069-kolla-programmatiskt-om-ett-ip-tillhör-en-viss-nätmask"
---

# Kolla programmatiskt om ett ip tillhör en viss nätmask

## #1 — nachip, 2008-06-08T09:14Z

Hej,

Osäker på om den här frågan hör hemma här men någon moderator får väl flytta den till lämpligt ställe annars. :-)

Hur som helst så skulle jag behöva hjälp med att kolla om ett ip tillhör en viss nätmask. T ex om 192.168.1.26 tillhör 192.168.1.0/24. Hur gör man detta programmatiskt?

Permalänk: https://www.webforum.nu/p/172069

## #2 — Ledel, 2008-06-08T12:28Z

Inte riktigt säker på hur du menar... Menar du rent klass-mässigt? (A: /8 B: /16 C: /24)
För 192.168.1.26 kan ju tillhöra 192.168.1.0/25 26 27 28 och så vidare.

Permalänk: https://www.webforum.nu/p/2117199

## #3 — spango, 2008-06-09T06:58Z

Om du har båda adresserna som byte-arrayer kan du göra såhär:

```
byte[] mask = { 192, 168, 1, 0 }; // IP-masken
int nbits = 24; // Antalet bitar från masken att använda
byte[] ip = { 192, 168, 1, 26 }; // IP-adressen
bool match = true;
for (int i = 0; match && i < nbits / 8; ++i) match = (mask[i] & ip[i]) == ip[i];
if (match) Console.WriteLine("IP:t matchade");
```

Permalänk: https://www.webforum.nu/p/2117288

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/172069-kolla-programmatiskt-om-ett-ip-tillhör-en-viss-nätmask
