Po pierwsze, używam wireshark do przechwytywania i colasoft do odtwarzania. Próbuję odtworzyć grupę przechwyconych pakietów z powrotem, kilkakrotnie zapętloną (ma to na celu wysłanie powtórki bitwy z gry online do farmy po nagrody, na wypadek, gdybyś się zastanawiał) .
Czytam tutaj, że TCP / IP ignoruje pakiety o powtarzających się numerach sekwencyjnych. Czy zatem jestem na dobrej drodze, sądząc, że nowe numery sekwencyjne są tworzone za każdym razem, gdy pierwszy pakiet SYN w tej grupie pakietów jest wysyłany, a reszta pakietów jest z tego powodu ignorowana? Jak mogę teraz te nowe numery sekwencyjne i odpowiednio je odtworzyć?
Jeśli jestem daleko od bazy, daj mi znać. Ponownie odtworzyłem pakiet w stanie, w jakim się znajduje, i jest on odtwarzany poprawnie, ale nie otrzymuję przedmiotów / XP, więc uważam, że serwer musi ignorować pakiety.
Odpowiedzi:
Z pewnością musisz zmienić numery sekwencyjne peera przynajmniej zgodnie z jego pierwszą odpowiedzią. Na początku połączenia TCP (uzgadnianie TCP) każda ze stron komunikacyjnych generuje własny pseudolosowy początkowy numer sekwencyjny. Numery sekwencji następnie rosną o liczbę bajtów przesyłanych danych i tak naprawdę pakiety są odrzucane, jeśli numer sekwencji jest nieprawidłowy.
Istnieją narzędzia, które wykonają dla Ciebie translację / regenerację numeru sekwencyjnego i odtworzą jednostronną część przechwyconego strumienia TCP.
Więcej informacji o TCP: Protokół kontroli transmisji - działanie
źródło