[C++] Nagłówek TCP

0

Witam,

Mam takie zadanie: Napisz program, który wyjmuje i drukuje pola zawarte w nagłówku segmentu TCP i Datagramu IPV6.

Napisałem już prosty serwer i klient przy pomocy Winsock2 (umiem już wysłać np. z klienta jakąś wiadomość na serwer) jednak nie wiem jak wyłuskać ten nagłówek i wypisać jego pola ? Czy ktoś mógłby mi pomóc, lub przynajmniej udzielić jakichś wskazówek ?

0

poszukaj sobie w SOCKADDR i SOCKADDR_IN

0
Blood napisał(a)

poszukaj sobie w SOCKADDR i SOCKADDR_IN

Czego ma tam szukac ?

Ogolnie to musisz przejsc na gniazda SOCK_RAW w domenie IPPROTO_IP. Na normalnym gniezdzie SOCK_STREAM dzialasz w wyzszej warstwie i jedyne co mozesz zobaczyc to naglowki protokolow dzialajacych nad TCP, czyli HTTP, itd.

0

Swoją drogą - można ukryć adres ip, na który wysyła się jakieś wiadomości? Oczywiście mając własnego klienta i serwer

0

@Blood: Zalezy od Windowsa, oni tam maja dziwne ograniczenia co do gniazd, ale jesli chodzi o ingerencje w warstwe transportowa/sesji na poziomie uzytkownika to nie powinno byc problemu, zreszta wrzucalem na forum rozne kody wykorzystujace sockety, wiec mozesz poszukac.

edit: wrocmy do tego, bo zrozumialem, ze chcesz ukryc adres, z ktorego wysylasz pakiet, a nie ten na ktory ma dojsc, opisz dokladnie problem jak mozesz.

0

Pamiętasz może pod jakim hasłem?

0

Rozumiem, a jak zobaczyć nagłówki protokołów działających nad TCP ?
Rozmawiałem dziś z prowadzącym ćwiczenia i mówił, że istnieje gotowa funkcja w Winsock, która pokazuje nagłówki (potrzebna do rozwiązania tego zadania) jednak nie chciał podać jej nazwy...

0
Dudson napisał(a)

Rozumiem, a jak zobaczyć nagłówki protokołów działających nad TCP ?

Normalnie - wysylajac zapytanie o dane, jesli jest potrzebne, a nastepnie czytajac z gniazda AF_INET - SOCK_STREAM/DGRAM - 0 dane, w nich bedzie naglowek. W przypadku podanym przeze mnie wyzej, czyli HTTP naglowek jest zlepkiem pol typu Referer, User-Agent, itp, wiec wysylajac zapytanie GET do serwera HTTP otrzymasz odpowiedz zawierajaca naglowek, w ktorym beda te pola i wartosci z nimi skojarzone oraz zawartosc strony o ktora prosisz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1