IP portot letíltás windowsban
2004-01-07T11:08:29+01:00
2004-02-17T14:45:51+01:00
2022-07-20T14:57:00+02:00
Putto
Hogyan lehet IP portot letíltani windows alatt Delphiben? Mondjuk, ha mind a 65535 portot le akarom tíltani.
Mutasd a teljes hozzászólást!
Hi!

Szóval, ha valakit érdekelne:

Figyelni kell a windows eseményeket, ha TCP alapú kapcsolat jön létre, akkor az azonnal meg is szakítható, az pedig ,hogy melyik porton történik az már csak egy 1xű szűrés!

Konkrét forrás is van ha kell valakinek.:)
Mutasd a teljes hozzászólást!

  • Gyűjtsd össze mindet és foglald le őket :)))

    Na jó, ilyet nem nagyon tudsz csinálni. TDI vagy NDIS drivert kell hozzá írni. Van valami user mode filter API, de az is csak Win2k-n és XP-n ha jól emlékszem, de azt inkább nem forszíroznám.
    Mutasd a teljes hozzászólást!
  • Szia! Nekem az is jó lenne, ha magát a Lan-t lehetne letíltani ill. vissza állítani. Elvileg van egy api fv.-rá, (INETDisconnection) talán, de nem tudtam használni.
    Azért köszönöm addig is...

    Mutasd a teljes hozzászólást!
  • Hi!

    Szóval, ha valakit érdekelne:

    Figyelni kell a windows eseményeket, ha TCP alapú kapcsolat jön létre, akkor az azonnal meg is szakítható, az pedig ,hogy melyik porton történik az már csak egy 1xű szűrés!

    Konkrét forrás is van ha kell valakinek.:)
    Mutasd a teljes hozzászólást!
  • Én azzal is megelégszem, ha néhány kulcsszóban összefoglalod a felhasznált technológiát: milyen eseményeket figyelsz és hogyan szakítod meg a kapcsolatokat?

    Péter
    Mutasd a teljes hozzászólást!
  • Ez így elég sovány megoldás. Talán vmi konkrétum? Hogyan, miképp? Mert így nem látszik jogosnak a pont.
    Mutasd a teljes hozzászólást!
  • Hi!

    1.
    A lényeg, hogy megadott időközönként figyelem, hogy milyen TCP alapú kapcsolatok jöttek létre, ill. milyenek van már meg.
    Erre az IPHelper.pas ill. IPHLPAPI.pas ingyenes állományokban egy tökéletes GET_TCPTable procedura van.. (http://users.pandora.be/dirk.claessens2/downloads/netmon.zip)

    2. Mivel a GET_TCPTable által vissza adott stringlista tartalmazza a létrejött kapcsolat mind a helyi mind pedig a távoli portját, egyszerűen azokat a szálakat a SetTCPEntry functionval (http://members.chello.nl/m.vanbrakel2/win32api._zip címen található jwaiphlpapi.pas) disconnectálom...

    Mivel ez a megoldás egy timerhez kötött nem túl elegáns,DE elvileg meg lehet oldani windows eseménnyel is csak még erre nem volt időm.. Amint lesz írom azt is ha kell..


    var
    killconn : MIB_TCPROW;


    begin
    killconn.dwState:=MIB_TCP_STATE_DELETE_TCB; // kill the estabilished connect
    killconn.dwLocalAddr:=Str2IpAddrTCPview.Items.Item.Caption); // string to ip
    killconn.dwLocalPort:=Port2Wrd(strtoint(Tcpview.Items.Item
    .SubItems.Strings[0])); // string to port
    killconn.dwRemoteAddr:=Str2IpAddr(Tcpview.Items.Item.SubItems.Strings[1]); // string to ip
    killconn.dwRemotePort:=Port2Wrd(strtoint(Tcpview.Items.Item
    .SubItems.Strings[2])); // string to port
    jwaiphlpapi.SetTcpEntry(killconn);
    Mutasd a teljes hozzászólást!
  • Nagyon durva hackelés, gratulálok :))
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Szóval jönnek az üzenetek, hogy kevés a leírás. . hm most akkor azt kellene ,hogy másoljak be ide 40-50kb forrást. vagy még is mire gondolsz kedves NetAngel?!

    Szívesen megosztom bárkivel csak nem tartom helyén valónak, hogy telecopyzzam a topicot, küldetek emailt aztán küldöm a forrást! :)

    Hát nem 1xű!

    Mutasd a teljes hozzászólást!
abcd