1. TCP тристранно ръкостискане
Изпращачът изпраща пакет с флагове SYN=1 и ACK=0 към получателя, като иска връзка, което е първото ръкостискане. Ако получателят получи заявката и позволи връзката, той изпраща пакет с флаговете SYN=1 и ACK=1 на подателя, като му казва, че може да комуникира, и ще поиска от подателя да изпрати потвърждаващ пакет, което е второто ръкостискане. Накрая изпращачът изпраща пакет с SYN=0 и ACK=1 към получателя, като му казва, че връзката е потвърдена, което е третото ръкостискане. След това се установява TCP връзка и започва комуникацията.
2. Информация за флаг в TCP пакета
*SYN: Флаг за синхронизация
Полето Synchronize Sequence Numbers е валидно. Този флаг е валиден само когато се установи TCP връзка по време на тройно ръкостискане. Той подканва сървъра на TCP връзката да провери серийния номер, който е началният последователен номер на първоначалната TCP връзка (обикновено клиента). Тук TCP последователният номер може да се разглежда като 32-битов брояч, вариращ от 0 до 4,294,967,295. Всеки байт данни, обменян по TCP връзка, се секвенира. Колоната с номер на последователността в заглавието на TCP съдържа номера на първия байт в сегмента TCP.
*ACK: Знаме за потвърждение
Полето за номер на потвърждение е валидно. Повечето пъти знамето се поставя. Потвърждателният номер (w+1, Фигура 1), съдържащ се в колоната за потвърждение в TCP заглавието, е следващият очакван последователен номер, а отдалеченият край е посоченСистемаВсички данни са успешно получени.
*RST: Рестартиране на флага
Знакът за нулиране е валиден. Използва се за нулиране на съответната TCP връзка.
*URG: Аварийна ситуация
Знакът за спешен указател е валиден. Поставяне на аварийни знаци,
*ПШ: Push лого
Когато флагът е поставен, получателят не поставя данните в опашка, а ги прехвърля към приложението възможно най-бързо. Флагът винаги се задава при работа с връзки в режими на взаимодействие като telnet или rlogin.
*ФИН: Край знак
Пакетът с този флаг се използва за край на TCP обратно повикване, но портът остава отворен за получаване на последващи данни.
3. Ролята на няколко състояния на TCP в нашия анализ
В слоя TCP има поле FLAGS, което има следните идентификатори: SYN, FIN, ACK, PSH, RST, URG. Сред тях първите пет полета са полезни за нашия ежедневен анализ. Те означават следното: SYN означава установяване на връзка, FIN означава затваряне на връзката, ACK означава отговор, PSH означава прехвърляне на ДАННИ, а RST означава нулиране на връзката. Сред тях ACK може да се използва едновременно със SYN, FIN и др., например SYN и ACK могат да са 1 едновременно, което представлява отговора след установяване на връзка; ако е само един SYN, то само установяването на връзка. Няколко ръкостискания на TCP се проявяват чрез такива ACK. Въпреки това, SYN и FIN няма да са 1 едновременно, защото първият означава установяване на връзка, а вторият означава прекъсване. RST обикновено се появява след FIN до 1, което означава нулиране на връзката. Обикновено, когато се появи FIN пакет или RST пакет, приемаме, че клиентът е прекъснат от сървъра. Когато се появят SYN и SYN+ACK пакети, смятаме, че клиентът е установил връзка със сървъра. PSH от 1 обикновено се появява само в пакети с не-0 DATA съдържание, което означава, че PSH от 1 означава, че реалното TCP съдържание на TCP пакети се предава. Установяването и затварянето на TCP връзка се извършват чрез модел запитване-отговор
|