Proszę o podani mi kierunku poszukiwań. Mam program który wysyła pakiety do swojego serwera w sieci. Jak przechwycić te pakiety, zmienić je i przesłać dalej w zmienionej formie.
Musisz napisac/uzyc gotowego sniffera:)
http://www.codeproject.com/Articles/17031/A-Network-Sniffer-in-C
Ok sniffer łapie pakiety jednak one lecą dalej do serwera poza moją kontrolą. Chodzi mi raczej o takie połączenie danych :
CLIENT<---------->MOJ KOD<------------>SERVER
bo na razie to jest:
CLIENT<----------------->SERVER
|
MOJ KOD
Się nie zalogowałem i zastanawiam się co za "Czarny Krawiec" :D
Czarny Krawiec napisał(a):
Ok sniffer łapie pakiety jednak one lecą dalej do serwera poza moją kontrolą. Chodzi mi raczej o takie połączenie danych :
CLIENT<---------->MOJ KOD<------------>SERVER
bo na razie to jest:
CLIENT<----------------->SERVER
|
MOJ KOD
Sniffer z założenia może przechwycić pakiet i tyle.
Jeżeli chcesz wykonać operację, przechwycić zmodyfikować i puścić dalej. To raczej bym patrzył coś w kierunku serwera proxy na którym umieścisz swój program.
A da się to zrobic na lokalnej maszynie?
żeby serwer proxy w ogóle wchodził w grę to musisz mieć możliwość ustawić w aplikacji jako adres serwera właśnie twoje proxy. BTW grzebanie na poziomie pakietów podchodzi już pod łamanie prawa
I tak i nie. Opcja inna. Czy po uzyciu sniffera i analizie pakietu można zablokować jego wysłanie i w to miejsce wstawienie swojego pakietu i wysłanie go?
A czym to się różni od pierwszej opcji ?
nadal szukam rozwiązania?
- wysyła na adres czy nazwę?
- jeśli na nazwę to ją znasz?
na adres i znam te adresy
a dodaj przekierowanie na swój serwer w pliku hosts, może osiągniesz to co chcesz.
.Al napisał(a):
a dodaj przekierowanie na swój serwer w pliku hosts, może osiągniesz to co chcesz.
jeśli to jest adres to jak ma wpisać w pliku hosts to przekierowanie??
Jeżeli program, który wysyła pakiety jest uruchomiony na twoim komputerze to nie bawiłbym się w modyfikowanie pakietów, a w hookownie funkcji odpowiedzialnych za wysyłanie. Program w C++ z Detours to kilkanaście linijek. Jeżeli nie chcesz tego robić (a warto!) to pozostaje modyfikowanie pakietów, np. przy użyciu gotowej biblioteki-sterownika WinDivert (albo napisać własny filtr od nowa, ale to o wiele trudniejsze).
O dzięki Rev. Wiedziałem że się jakoś da zrobić. Więc mam dwie drogi hook albo biblioteka .
Mógł byś rozwinąć temat "hookownie funkcji odpowiedzialnych za wysyłanie", bo nie rozumiem tego tematu. Dzięki
Znalazłem w Google :D
http://www.codeproject.com/Articles/30140/API-Hooking-with-MS-Detours