Jump to content

TCP ACK paketes un firewall


J.Reinis
 Share

Recommended Posts

Dotā situācija - ir vairākas custom iekārtas, kas sazinās ar serveri noteiktos laika intervālos, un gadījumā, ja tās nesaņem uz savu sūtīto statusu no servera atpakaļ ACK paketi, attiecīgi saprot, ka ir pazudis savienojums. 

 

Problēma - lai gan lielākoties viss strādā, kā gaidīts, vienā no objektiem, kur dažas no tām iekārtām ir uzstādītas, laiku pa laikam pazūd savienojums (vēl nav izdevies noskaidrot iemeslu, jo ēkas administrators un IT komanda ir dārzeņi - vai nu firewall auto filtrs kicks-in, vai kāds cits iemesls), BET apskatot iekārtu log failus, tās tomēr ir saņēmušas ACK paketi, lai gan serveris tādu nemaz nav izsūtījis, jo nemaz nav saņēmis statusa reportu no iekārtas  :blink:

 

Jautājums - neesmu lasījis TCP speceni, tādēļ ātri uzvaicāšu - vai normālos apstākļos var rasties situācija, ka firewall vai rūteris nosūta iekārtai ACK pats, nemaz nepiegādājot statusa paketi tālāk?

Link to comment
Share on other sites

TCP paketes vienmēr saņem ar garantiju. Tas ir iešūts protokolā. UDP - cita runa... tā ka šeit ir kaut kāds sviests ar ko citu, bet ne TCP līmenī...

  • Patīk 1
Link to comment
Share on other sites

TCP paketes vienmēr saņem ar garantiju.

Lūk tieši par to jautājums - vai šī 'garantija' sevī ietver tieši gala iekārtu (serveri) citā tīklā, kam šī pakete ir bijusi paredzēta? Jo, kā minēju, ACK pakete kaut kur ir radusies, kamēr oriģinālā pakete ar iekārtas statusu nemaz līdz serverim nav nonākusi. Diemžēl līdz šim nebijām iestrādājuši lai iekārta fiksētu logfailā ACK pavadošo IP adresi (nelikās, ka kaut kas tāds jebkad būtu nepieciešams tieši Tava minētā iemesla dēļ - ja ACK tad ACK, un viss značit štokos, a bet figu kā šajā precedentā izskatās).

 

 

es liktu uz gljukainu routeri.

Nu vot es arī, bet kā teicu, tur kamēr no tiem pautiem dabūsi jebāku info vai kaut wireshark log'u, aizies nedēļas. Pa to laiku mēģinu izskatīt iespējamos variantus jau.

Labots - J.Reinis
Link to comment
Share on other sites

J.Reinis. Precīzu iemeslu varēs noteikt tikai un vienīgi pakešu analizēšana gan izsūtošajā, gan saņemošajā galā. Tomēr, kā jau arī DL teica, lieku uz gļukainu rūteri... lokālie switchi, habi, ja tādi eksistē, šiem neko nevajadzētu čakarēt šādā OSI līmenī...

Link to comment
Share on other sites

Īsti nav skaidrs, kam jālien tik zemā līmenī? Uztaisi tcp konekciju un dzenā datus. Lai par paketēm un datu piegādi atbild tcp/ip staks. 

Vai tās iekārtas mazjaudīgas un viņām nav pilnībā tcp protokols realizēts?

Link to comment
Share on other sites

 

 

Uztaisi tcp konekciju un dzenā datus.
Kā rakstīju, tad līdz šim tā tas viss arī darbojās, līdz šim incidentam.

 

 

 

Lai par paketēm un datu piegādi atbild tcp/ip staks. 
Tā ir pilnīgi pašu projektēta un ražota iekārta, un mūsu izmantotajā tīkla čipā stack [iespējams] nav realizēts pilnvērtīgi, taču līdz šim tas 100% bija darbojies pēc visiem dokumentētajiem standartiem specifikāciju ietvaros. Un, vēlreiz uzsveru, mūsu iekārtas pusē problēmu nav bijis - pašlaik izbrīna vien tas, kādēļ ir atnācis TCP ACK uz paketi, kas nemaz netika piegādāta serverim. Ar nākamo firmwares apdeitu sporta pēc ielogosim arī ACK paketes saturu, lai mēģinātu saprast, kas par bumbām.
Link to comment
Share on other sites

1. Iekārta sūta syn uz serveri
2. atnāck ack, bet tas nav serveris
3. tātad jānoskaidro kas ģenerē atbildi, ja serveris syn nav saņēmis.

IP adresi nav jēgas logot, jo viņa tāpat uzrādīsies "it kā servera". Ja būtu cita IP, klients to nemaz neakceptētu. (ja mēs te runājam tieši TCP stacku nevis ar ack tiek apzīmēts kaut kāds klienta/servera keepalive)

Tāpēc parametrs ko jācenšas ielogot ir MAC no kuras ienāk šis ack (jā bērni tieši .. mac adrese...)
Ja tā būs konkrētā tīkla GW mac - tad jāskatās uz attiecīgā devaisa, kas nodrošina GW (kas tas ir pa dzelzi un cik daudz uz viņa var debugot/capturēt). Tas atbildēs vai nu viņš pats uztaisa kaut kādus proxy-arp tipa brīnumus vai tiešām sašujas settingos.
Ja tā nav GW mac adrese, tad meklē kur un kad tā mac adrese parādās tīklā tajā pašā vlanā.
Vēl vienmēr var būt gadījumi, ka kāds blēņojas ar MitM vai nu kāda zaraza dzīvo tīklā.


Tātad, ja var piekodēt - piekodē, lai logo gan L3, gan L2 headerus.
Ja nevar piekodēt - iedarbināt snifferi tīklā un nomirrorēt uz to to portu, pie kuras pieslēgta iekārta.

ps:

pārbaudi ipconfigu (tieši vai maska ir pareiza), ja masku gadās ielikt lielāku, rūteri/fw mēdz atbildēt klienta vietā  (lasīt proxyarp)

Tāpat netapa skaidrs, vai devaiss, ko šķērso trafiks ir rūteris vai firewalls (ir ļoti būtiska starpība), vai ir NAT vai nav, ja ir - vai statiskas, vai dinamiskais...

Labots - hero
Link to comment
Share on other sites

Liels paldies par atbildi - tieši tas, ko vēlējos dzirdēt, būs vismaz, kurā virzienā rakt papildus info. Un par to router/fw man arī joprojām nav skaidrs no pašiem ITšņikiem - atliek tikai pabrīnīties, par ko daži cilvēki saņem algu...

Link to comment
Share on other sites

nevertell

Nu ej nu ej, ja tavi rūteri tā uzvestos, domā pats būtu labāk spējīgs saprast, kas notiek ? Visticamāk, viņiem pašiem nekādu problēmu šajā sakarā naf.

Link to comment
Share on other sites

Anonīms Alkoholiķis

Jo mazak zin/saprot, jo mazak problemu.

Tas ta gandriz jebkura joma..

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...