Sådan skriver du en Windows Firewall helst med Java

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg laver et Java Desktop-program, der skal have en firewall. Mit program skal understøtte Windows XP, Vista og 7.


Jeg fandt ud af, at kommandoen netstat /? virker for at oprette forbindelser, men jeg kunne ikke se nogen måde at kontrollere dem på.


Hvordan skriver jeg en firewall og hvilket sprog skal jeg bruge? Jeg foretrækker at bruge Java eller kommandolinjen.

Bedste reference


Du vil ikke kunne tilslutte direkte til Windows netværkskode bare med Java. Derfor er det ikke rigtigt at skrive en firewall i Java. Måske er der noget, der kan gøres med J # hvis du insisterer på Java (jeg ' m ikke ekspert), men J # synes at have været forældreløs af Microsoft, så C # er nok et bedre alternativ.


Hvis du bare vil fungere som en firewall til din egen applikation (og opfanger netværksopkald foretaget inden for JVM), kan du gøre det med SecurityManager. [2]

Andre referencer 1


Der er ingen måde, du kan gøre det DIREKT med Java uden at bruge nogle native kode (fx ved JNI eller en ekstra indfødt proces). Der er simpelthen ingen Java API til at gøre det i en standard Java VM på Windows (eller noget andet OS jeg gætter).

Andre referencer 2


Jeg er en fan af Java - men fra ethvert perspektiv er det helt det forkerte værktøj til jobbet her. Du har brug for noget, der passer ind i OS godt. Det kunne potentielt udføres med C # med noget lavere niveau kode oven på det (der er ingen direkte API, som jeg kender til i C #, der vil registrere sig på disse slags begivenheder.)


Uanset om dine formål er helt akademiske, skal jeg først og fremmest sætte spørgsmålstegn ved formålet med projektet.