afair ten keep-alive jest wysylany co 2 godziny...
przez ten czas mozna zdosowac system milion razy...
afair ten keep-alive jest wysylany co 2 godziny...
przez ten czas mozna zdosowac system milion razy...
Jak już wspomniałem, czas po jakim zostanie wysłany pusty pakiet z flagą ACK zależy od implementacji. 7200 sekund (2 godziny) to najczęściej spotykana wartość. Jednak następny pakiet wysyłany jest już w znacznie krótszym czasie (czyli nie co dwie godziny!), mniej więcej 60s. Gdy po kilku kolejnych (z reguły nie więcej niż 10) próbach, system nie otrzymuje potwierdzenia od hosta zdalnego, połączenie uznawane jest za zamknięte.
@rip
Powiedz mi, co ma wspólnego DoS z tym tematem?
elceef: Ehhh... Przepraszam, nie pomyślałem. Czyli mogę przyjąć że na jałowej sesji będę miał jakiś ruch co 2m? (U mnie/proc/sys/net/ipv4/tcp_keepalive_time ma wartość 120...)
rip: Jak z ciebie taki kozak, to podam Ci IP na IRC'u i mnie "zdosujesz" :]
http://nikowek.blogspot.com/
Zbrojne Ramię Pingwina!
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d- s++:++ a--- C+++ UL+++ P L+++ E--- W++ N++ o K- w--
O M- V- PS PE Y PGP++ t+ 5 X+ R tv- b++ DI- D-
G+ e- h! r% y?
------END GEEK CODE BLOCK------
mam serer na accept, i tworzy on kazdemu polaczeniu watek/event.Powiedz mi, co ma wspólnego DoS z tym tematem?
Lacze sie tyle ile chce, ale nie odsylam pakietow fin. Co sie dzieje? Domysl sie.
Jak juz pisalem, nie ma sensu utrzymywac sesji tak dlugo.
Lepiej napisac cos na udp, i wysylac dane kiedy potrzeba.
@Nikow
Tak. Twój system po 2 minutach zacznie generować ruch zwiazany z TCP keep-alive.
@rip
Jeśli serwer będzie Twojego autorstwa to na pewno stanie się to co myślisz. Jednak serwery usług z prawdziwego zdarzenia ograniczają ilość jednoczesnych połączeń z jednego adresu IP. TCP ma znaczącą przewagę nad UDP. Najwyraźniej Nikow potrzebuje właśnie TCP.
BTW: dane przy odrobinie fantazji można przenosić też przez ICMP
No to znalezc jakas pule adresow, i wysylac syn + ack. Byle serwer nie otrzymal zadnej odpowiedzi.
I tu sie mylisz, ja zawsze ustawiam timeout. W przeciwienstwie do 99% innych osob.Jeśli serwer będzie Twojego autorstwa to na pewno stanie się to co myślisz.
@rip
Jeszcze kilka postów wcześniej pisałeś, że timeout to złe rozwiązanie i "można zdosować milion razy". Zaczynasz się gubić w tym co piszesz.
owszem, 2 godzinny.
Ja zazwyczaj nie przekraczam 30 sekund, bo i poco?
rip: Rozważyłem wcześniej wykorzystanie UDP, ale uwierz mi, że tylko by wszysto skomplikowało. Brak kontroli przepływu danych, więc bym musiał wszystko sam pisać. I parę podobnych problemów
elceef: Od razu zapytam, ile statystycznie musi być gubionych/uszkodzonych pakietów (sprawdzane przez ping) by zerwało połączenie sesji TCP/IP?
http://nikowek.blogspot.com/
Zbrojne Ramię Pingwina!
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d- s++:++ a--- C+++ UL+++ P L+++ E--- W++ N++ o K- w--
O M- V- PS PE Y PGP++ t+ 5 X+ R tv- b++ DI- D-
G+ e- h! r% y?
------END GEEK CODE BLOCK------
@Nikow
Trochę namieszałeś. Po pierwsze, ICMP echo-request (ping) nie należy do TCP, więc nie sprawdzisz w ten sposób stanu konkretnego połączenia. Jedynie osiągalność zdalnego hosta. Po drugie, nie wiem czy pytasz w kontekście TCP keep-alive czy ogólnie sesji połączenia TCP. Sprecyzuj swoje pytanie.