Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: rootacek 05. 08. 2015, 15:04:08

Název: Nemůžu po čase z jedné stránky získat GET požadavek
Přispěvatel: rootacek 05. 08. 2015, 15:04:08
Zdravím všechny

potřeboval bych helpnout. Nevím, jak situaci řešit. Mám jednu stránku, která mi když na ni pracuju třeba 15min v kuse. Po 15 minutech přestane odpovídat(server), nepošle žádnou odpověď při GET požadavku. Zajímavější je, že to je vázané na ip adresu.Pod jinou ip to fakčí.
Po dejme tomu 45 minutach, se to spraví a situace se opakuje pořád dokola.

Vše jsem testoval, OS,softwary ping server, odpovídá, trace, je ok. Když dám do CMD, GET, stejně jako v prohlížeči, tak bez přijmutí odpověďi.

Zvážil jsem a odzkoušel všechno, takže jsem došel k závěru, že je to na stoprocent na síti, software jde mimo hru. Jako nejjistější možnost jsem bral hosting.

Tak jsem to s nima řešil, jestli to neblokujou, třeba přes nějaký DDOS, apd.Bezvýsledně, tvrdí, že rozhodně ne. Co s tím? Samozřejmě jak jsem psal software, který by to mohl způsobovat, tam není.

Napadá někoho, co udělat, jak to více debugovat(poradit) jak by jste to řešili, či nějaká možnost v čem je zakopaný pes?  Nedá mi to spát. >:( Nemám proto, žádné logické vysvětlení.

Díky všem!  :)
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek po dobu
Přispěvatel: pepa 05. 08. 2015, 15:34:06
záleží co znamená ta práce, jestli z toho serveru těžíš data tak tě možná aplikace zařezává
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek po dobu
Přispěvatel: Michal Taneček 05. 08. 2015, 15:58:04
proxy
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek po dobu
Přispěvatel: Jenda 05. 08. 2015, 16:03:52
Řešíš síťový problém a přitom jsi vůbec neuvedl co se vlastně děje - odmítne TCP spojení? SYN pakety prostě zahodí? Otevře spojení a pak to nechá vyhnít? Pošle ti na ten GET ACK nebo ne?
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek po dobu
Přispěvatel: Jenda 05. 08. 2015, 16:04:44
A když už máš navázaný kontakt s protistranou, proč jsi prostě nedodal packet capture během problémového okamžiku?
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek po dobu
Přispěvatel: rootacek 05. 08. 2015, 17:25:53
záleží co znamená ta práce, jestli z toho serveru těžíš data tak tě možná aplikace zařezává

Jaká aplikace? Aplikace, tam žádná není(moje).

Řešíš síťový problém a přitom jsi vůbec neuvedl co se vlastně děje - odmítne TCP spojení? SYN pakety prostě zahodí?

Moc se v sitích nevyznám, takže nevím  prostě GET požadavek, načítá a nic nevrací než vyprší timeout.
Pravděpodobně to sedí, na to jak píšeš s tím vyhnitím. Je to asi dočasné a je to fixované na ip. Prostě 15 minut tam něco dělám, pak se to zasekne, čekám na GET request, a nevrátí nic, jen načítá stále. 45 min to třeba nechám, vrátím se a zase to jde, tak to se opakuje pořád dokola.

Když ze stejného pc připojím pod jinou ip, vše je ok.Na OS, to nemá vliv.

Citace
Pošle ti na ten GET ACK nebo ne?
Kde to mohu zjistit? O ACK, jsem slyšel ,ale nevím o tom nic. To stejné s SYN paketama, to jsem nikdy neřešil. Musel bych použít nějaký wireshark, nebo něco takového?
 
Díky moc za pomoc!!!
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek po dobu
Přispěvatel: Honza 05. 08. 2015, 17:43:21
Ahoj,
  mohl bys poslat komplet HTTP hlavicky co posilas? Jde taky o to, jestli je to HTTP 1.0 ci HTTP 1.1
jestli drzis jedno TCP spojeni, nebo na kazdy pozadavek vytvaris nove spojeni. Pokud je to HTTP 1.1,
davas po poslednim requestu close connection? Wireshark dump by opravdu pomohl. Staci
jen vyfiltrovany provoz na tu cilovou IP ...

Tech moznosti, proc to nefunguje, je fakt hodne. V tom dumpu to hnedka uvidime...
Teda predpoklad je, ze pristupujes pres nesifrovane spojeni a bude vse hezky videt
v plain textu ;-)

Honza
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek po dobu
Přispěvatel: rootacek 06. 08. 2015, 15:31:36
Ahoj,
  mohl bys poslat komplet HTTP hlavicky co posilas? Jde taky o to, jestli je to HTTP 1.0 ci HTTP 1.1
jestli drzis jedno TCP spojeni, nebo na kazdy pozadavek vytvaris nove spojeni. Pokud je to HTTP 1.1,
davas po poslednim requestu close connection? Wireshark dump by opravdu pomohl. Staci
jen vyfiltrovany provoz na tu cilovou IP ...

Tech moznosti, proc to nefunguje, je fakt hodne. V tom dumpu to hnedka uvidime...
Teda predpoklad je, ze pristupujes pres nesifrovane spojeni a bude vse hezky videt
v plain textu ;-)

Honza

Díky za odpověď, bohužel jsem odpověděl později, protože mi to šlo, tak jsem to neměl jak odzkoušet.
No tam není žádný DUMP, wireshark ukazuje, že já posílám SYN a nepříjímám nic žádnou odpověď. Po nějaké době, se zopakuje SYN, do doby než vyprší celkový timeout.Jinak HTTP 1.1 mám, hlavičky mám normální. Ale všechno jde přes browser, ten by měl ukončovat přece připojení. Tak co bych s tím měl dělat já?

Na druhou stranu jsi poukázal na to, že je možné, že to je ucpané spojení a kdyby byl neukončený request mohlo by to být ono? 

jestli drzis jedno TCP spojeni, nebo na kazdy pozadavek vytvaris nove spojeni. Jak to myslíš?

 :)
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek po dobu
Přispěvatel: Jenda 06. 08. 2015, 15:54:32
telnet server 80 (nebo openssl s_client -connect server:443 pokud je to TLS)

a ano, wireshark

Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek po dobu
Přispěvatel: Jenda 06. 08. 2015, 15:56:31
wireshark ukazuje, že já posílám SYN a nepříjímám nic žádnou odpověď. Po nějaké době, se zopakuje SYN, do doby než vyprší celkový timeout.

OK, tak to ti nejspíš něco cestou nebo server na druhé straně úplně zahazuje. Teď by to chtělo zjistit co vidí protistrana.
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek po dobu
Přispěvatel: rootacek 06. 08. 2015, 16:59:11
wireshark ukazuje, že já posílám SYN a nepříjímám nic žádnou odpověď. Po nějaké době, se zopakuje SYN, do doby než vyprší celkový timeout.

OK, tak to ti nejspíš něco cestou nebo server na druhé straně úplně zahazuje. Teď by to chtělo zjistit co vidí protistrana.

openssl příkaz pošle ACK. A info o TLS. Jenže to asi nic neznamená, ip adresa je sdílená pro hosting. Takže ve skutečnosti mi to asi posílá obecně server.

Z druhé strany, asi nic nezískám.Čím by to tak mohlo být, co mám ještě vyzkoušet? Mohlo by to být neukončeným spojením a nějakým zacyklením v síti? Fakta stane se to tedy po nějaké době používání webu do půl hodiny+- to zase funguje jako kdyby se to uklidnilo. Teoreticky si myslím, že kdybych pořád posílal requesty, že se to nenačte nikdy, mohl bych to vyzkoušet možná. Díky moc za pomoc!  :)
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek
Přispěvatel: pb. 06. 08. 2015, 17:29:02
Je možné, že někde po cestě, nebo přímo na serveru, je synflood filtr. V iptables to může vypadat třeba takto:

iptables -A rule -p tcp ! --syn -j RETURN
iptables -A rule -m limit --limit 1/s --limit-burst 50 -j RETURN
iptables -A rule -j DROP

brokovnice
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek
Přispěvatel: rootacek 06. 08. 2015, 20:33:11
Je možné, že někde po cestě, nebo přímo na serveru, je synflood filtr. V iptables to může vypadat třeba takto:

iptables -A rule -p tcp ! --syn -j RETURN
iptables -A rule -m limit --limit 1/s --limit-burst 50 -j RETURN
iptables -A rule -j DROP

brokovnice

Jako na tom cílovém serveru jo? :) Po cestě, ale kde, to se pak přece nedá zjistit. Po cestě, by se to teoreticky vůbec nemělo stát ne?
Název: Re:Nemůžu po čase z jedné stránky získat GET požadavek
Přispěvatel: rootacek 07. 08. 2015, 11:47:57
Jako dodatek, posílám ještě, jak se provoz opakuje stále dokola při požadavku.
Kdyby někdo mohl ještě pomoct, byl bych moc rád. Nevím cos tím :(

Díky moc všem! 

(http://i.imgur.com/O0wwAnw.png)