Potrzebuję programu, który spowolni transfer na danym porcie. Potrafię sprawdzić aktywność na nim, ale nie wiem, jak go spowolnić. W jaki sposób zatrzymać przychodzące/wychodzące dane, ale tak aby ich nie utracić - przepuścić po prostu później...
Chcesz zrobić Fajer Łola ?
// e to znalazłem gdzieś kiedyś moze se sprzyda ;P
- AntyNuke ***
Tutaj postaram wam przedstawić prosty anty-nuker własnej roboty :)
Każdy chyba wie, że programiści z Mirro$oftu nie przykładają się aby zabezpieczyć, czy nawet ustabilizować swoje oprogramowanie. Tak jest z winDowsem - otwarty port 139 może narazić nas na wyżucenie z sieci, co jest troszkę wkurzające.
Nie wiem jak to jest z Windowsem Me ale z 95/98 wystarczy zmienić pewną wartość w rejestrze, aby zamknąć owy nieszczęśliwy port 139 :)
- Dodajemy w nagłówku
#include
- Przy zdarzeniu "onCreate" Formularza wpisujemy kod:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
int x = 0;
TRegistry *Registry;
Registry = new TRegistry;
Registry->RootKey = HKEY_LOCAL_MACHINE;
Registry->OpenKey("System",x);
Registry->OpenKey("CurrentControlSet",x);
Registry->OpenKey("Services",x);
Registry->OpenKey("VxD",x);
Registry->OpenKey("MSTCP",x);
Registry->WriteString("BSDUrgnet","0");
}
Ale to nie wszystko przecież zmianę w rejestrze można zrobić ręcznie bez żadnego dodatkowego pisana programów, dlatego my dodamy jeszcze komponent TNMMSGServ, który nasłuchiwał będzie na porcie 139 i dodawał do memo każdą przesyłaną na ten port wiadomość. Wtedy za każdym razem, gdy ktoś będzie chciał połączyć się z otwartym porem w Windowsie (który zamkneliśmy poprzez rejestr) łączy się z naszym programem. Nasza aplikacja podnosi wtedy alarm i wiemy, że coś jest nie tak. W sumie taki bardzo uproszczony firewall :)
-
Na początku wstawiamy TNMMSGServ z nazwą "Serv" i Portem ustawionym na "139"
-
Wstawiamy TMemo z nazwą Memo
-
Przy zdarzeniu onClientContact TNMMSGServ:Serv wpisujemy kod:
void __fastcall TForm1::ServClientContact(TObject *Sender)
{
sndPlaySound("c:\windows\media\tada.wav", SND_ASYNC);
}
- W nagłówku dodajemy:
#include
- Przy zdarzeniu onMsg TNMMSGServ:Serv dodajemy:
Memo->Lines->Add(sMsg);
Teraz kopilujemy program i gdy wchodzimy do sieci włączamy go zminimalizowanego. Za każdym razem, gdy ktoś będzie chciał się połączyć poprzez WinNuke`a dostaniemy alarm w postaci dźwięku, wtedy otwieramy program i sprawdzamy, może to nie Nuker, tylko jakaś inna aplikacja przesłała wiadomość, którą możemy odczytać w Memo ;P
// chociaz nie koniecznie
Niestety nie... Obserwować port, jak już pisałem potrafię, ale nie wiem jak wstrzymać albo nawet zablokować go...
Fire walle sa na codeproject
jeden mi sie spodobal
http://www.codeproject.com/tools/firewallpapi.asp