Jump to content
¯\_( ツ)_/¯
  • Sponsored Ad
  • TAD GROUP are currently hiring penetration testers. Please read the topic in Career Central subforum.

Avatara

Потребители
  • Мнения

    202
  • Присъединил/а се

  • Последно посещение

  • Days Won

    23

Avatara last won the day on Април 14

Avatara had the most liked content!

Обществена Репутация

125 Excellent

11 Последователи

Относно Avatara

  • Ранг
    Eleet Hacker
  1. Разбира се, че ще поставя на обсъждане проблема и повярвайте той не е само един. А за формите на обръщение сте прав. За мен не е проблем. Може спокойно да общуваме на ти. В това няма нищо лошо. Важно е да не губим комуникация.
  2. Напълно съм съгласен. Паралелните процеси са огромно предимство при мрежови анализи. Има много въпроси, които чакат своето решение. Вчера имах телефонно обаждане във връзка с конкретна задача, която се оказва непосилна за големите научни звена. А задачата трябва да се реши при това в кратък срок. Ако ми позволите ще направя малко отклонение от основната тема. Всъщност не бих казал, че темата е неподходяща за тук. Да. Има много млади колеги, които считат, че всичко се свежда до методи от 90-те години и това, което масово се тиражира в internet. От друга страна има много млади хора, които показват завидни познания. Именно в този форум срещнах един от настоящите си колеги. Тук срещнах и други младежи, които ме впечатлиха много приятно. С последният се видяхме лично, запознах го с някои аспекти на нашата дейност и се надявам да продължим с бъдещи съвместни проекти. Все пак качествените хора са повече. Вие също сте човек, от който черпя полезна информация. Дискусията с Вас ме обогатява, а и винаги сте възпитан. Това никак не е малко. Определено други форуми от домейна xakep имат съвсем друга структура. Там се пише сериозно, а аргументацията е желязна. Мисля, че тук просто имаме отражение на процеси, които са характерни за образованието в България, през последните десетилетия. Мисля, че ще преодолеем това. Важно е да даваме добър пример. Разберете ме - те не са имали алтернатива. Никой не им е показал нещо различно от клишетата. Те са деца и трябва да им се даде шанс. А за нас е важно да продължим да се усъвършенстваме. Още веднъж Ви благодаря най-искрено за дискусията.
  3. Как се прави ...

    След като добихме някаква бегла представа какво е OSI моделът, нека да се опитаме да разясним и няколко други специфични термини. SNMP (англ. Simple Network Management Protocol) По определение SNMP e стандартен internet-протокол за управление на устройства в IP-мрежи, базирани на TCP/UDP архитектура. ПРОСТИЧКО КАЗАНО ТОВА Е "ПРОСТИЧЪК" ПРОТОКОЛ ЗА УПРАВЛЕНИЕ НА МРЕЖОВИЯ ТРАФИК. За това "просто" нещо отговаря не кой да е, а самият ИНЖЕНЕРЕН ИНТЕРНЕТ СЪВЕТ (Internet Engineering Task Force - IETF, официален адрес: http://www.ietf.org/ ) , който всички ние сме длъжни да уважаваме защото без него нямаше да има YouTube, Google, Facebook, Skype, Instagram, PayPal, електронна поща, електронна търговия и де що е гадост, именувана "виртуални благини". Това, че много от подрастващите не са и чували за тази организация е без значение. IETF също не е чувала за тях. Но ние трябва да знаем какво се прави там, защото ако я няма тази организация какви хакери ще да сме, питам? Но да се върнем на въпроса за SNMP (за който също малцина подрастващи са чували, но без който не може) ... SNMP се състои от три ключови елемента както следва: 1. Устройство - Устройството, което се управлява; 2. Програмното осигуряване (АГЕНТЪТ) - Програмата, която се стартира на или управляваното устройство или на интерфейсът към него и без която нищо не се случва; 3. Системата за мрежово управление (Network Management System, NMS) - което също е софтуер. Този софтуер си взаимодейства с мениджъра, който отговаря за комплексната поддръжка на данните, които отразяват състоянието на мрежата. SNMP има седем протоколни единици на обмен, които са много интересни, защото ни позволяват да получим изключително полезна информация, без да се налага да "хакваме" каквото и да било. Но за това ще си поговорим друг път. Сега малко отклонение за по-младите ни колеги. Уважаеми, В тази тема няма да прочетете "как се хаква Facebook" защото това не е интересно. Повярвайте много по забавно е да разберем: КАК ДА ПОСТАВИМ НА КОЛЕНЕ ДЕ ЩО Е ДЪРЖАВА В СВЕТА, ОТ ДОМАШНИЯ СИ КОМПЮТЪР? Вие си мислите, че тези, които ги дават по телевизията са умни, красиви и ги разбират нещата. Повярвайте това не е така. Тези, които ги разбират, четат. Четат. Четат. Четат и пак четат. Това може и да е гадно, но резултатите си струват. Има и друго. Това, което обсъждаме тук не се дава на олимпиади по програмиране. Не се и учи в университетите. Там се учат други неща. Там основно се обсъждат неща като сортировки, матрична алгебра и др. неща от материя, която може да приемем за академична. На нас обаче ни трябват инструменти. Такива обаче никой няма да ни предостави, дори и да си платим (което както се знае ние не обичаме да правим, защото всичко трябва да е безплатно в т.ч. бензинът, дизела, кебапчетата, бирата, топлия хляб, луканката, марковите маратонки, входа за дискотеката, водката, кафето и т.н.). И какво правим тогава, а? Трябва да положим усили за да си направим сами инструментите, които ни трябват (онези от IBM, Cisco, Novell и др. не щат да си ги дават и това е). Разбирам, че не е честно, но и живота не е честен. Гаден е и не е само забава. Само за забавление е девиза на една ОС, която се финансира от АНС, но това не е хубаво да се казва в България, защото за такива думи могат и да те набият. И в чужбина не се казва. Ей, на и Microsoft бяха убедени да приемат "правата вяра". Ние обаче не бива да имаме сляпо доверие на всичко, което ни се казва. Никога не вярвайте на следните неща: 1. На политиците; 2. На журналистите; 3. На финансистите; 4. На бюрократите в МОН (там са направо за прокурор); 5. На НПО-тата; 7. На INTERNET; Най-вече не вярвайте на тези, които се опитват да ви убедят, че от андронният колайзер има някаква полза. Те просто се опитват да оправдаят огромните субсидии, които крадат от джоба ни. Истината не е в синьото хапче (ако си спомняте онзи велик момент от "Матрицата" на Ушаковски). Истината не е и някъде там (това е от "Досиетата X"). Истина няма. Има нещо, което се доближава до истината, но това е вашето или моето виждане по даден въпрос, което повярвайте не винаги е актуално.
  4. Абсолютно правилно и признавам, че отговорът ме впечатли много приятно. Паралелните процеси са доста интересна материя. Много благодаря. Информацията е изключително полезна.
  5. Имам въпрос: А как ще се напише ООП код за паралелни изчислителни процеси? Не за "многонишкови" (многопоточни), а именно за паралелни.
  6. Не. Не е точно така. Логиката на търсещите машини е малко по-различна. Визирам това, което е в момента. Мисля, че вече съм писал за това. Нарича се "тематичен модел". Съвременните търсещи системи ползват обектно-тематичен модел (statistical entity-topic model). Това е различно. Освен този модел има още и автор-получател модел (author-recipient-topic models), модели на смесено членство (mixed-membership models), модел на влияние на цитатите (citation influence model), скрит тематичен модел на хипервръзките (Latent topic hypertext model, LTHM) и пр. и пр.. Проблемът е, че класическите търсещи машини използват интелектуалнен анализ на данни (информация) за конфреренциите (conference mining), който се базира на обобщен LDA (generalized LDA) модел. Това не върши работа на хора като мен. За това ползваме друг подход. Не знам как да го обясня без да навлизам в специализирана терминология. Най-груб пример. Търсене по символен низ или част от символен низ (примерно нещо от вида LIKE %ADA% - SQL) не е като търсене по сходство (Find Nearest - PFS). Що се отнася до "обявата" лично аз нямам никакъв интерес. Очевидно е че човекът не притежава никаква компетентност, а и е доста извън сферата на преките ми интереси.
  7. Как се прави ...

    Ако ми позволите ще изменя леко графиката, която илюстрира OSI модела. Мисля, че това е много по-точен модел. Вижте, това, което би следвало да анализираме е т.н. "СИВА ЗОНА". Реално всеки един елемент от "сивата зона" може да бъде използван като обект на атака. Колкото на по-ниско ниво се извършва атаката, толкова е по-трудно тя да бъде локализирана. Единственото доказало своята ефективност противодействие на атака на физическо ниво е шифроването но ... тук има куп юридически проблеми, които са въпрос на друг вид дискусия. Това, което можем да направим е да се научим да анализираме трафика и да контролираме мрежовата топология. Повярвайте, често това ще се прави на ниво MAC адрес, а не на ниво IP. И нещо, което ще повтарям непрекъснато: Вижте много добре графиката. КОМПЮТРИТЕ (СЪРВЪРИТЕ) СА ИЗВЪН СИВАТА ЗОНА! ПОНЯКОГА ТЕ СА В ТЪМНОЧЕРВЕНА ЗОНА, НО ТАМ АТАКИТЕ СА ОТ ДРУГ ВИД! В МОМЕНТА НИЕ ВИЗИРАМЕ САМО И ЕДИНСТВЕНО АТАКИ, КОИТО СЕ ПРОВЕЖДАТ НА МРЕЖОВО НИВО! Операционната система (без значение дали тя е UNIX, Linux, Windows, iOS, Android и каквото се сетите) е извън зоната, която е обект на настоящите разглеждания. Каква ОС ползва крайният потребител е без значение, когато атаката се извършва на ниво слой от OSI моделът. Компанията Cisco ползва собствена OS за активното си оборудване, но дори те са длъжни да се съобразяват с OSI. И не забравяйте, че не е задължително приложният слой да е елемент от компютърната конфигурация. Това се прави )с оглед удобство) но не е задължително. СЪЩЕСТВУВАТ И МЕТОДИ НА ЗАЩИТА ПРИ КОИТО OSI МОДЕЛЪТ СЕ ИМПЛЕМЕНТИРА В ЕДИН МОДУЛ. ТОВА СИЛНО НАПОМНЯ PROXY СЪРВЪРИТЕ, НО ИДЕЯТА Е ДРУГА. ТАКА СЕ СЪЗДАВАТ ВИРТУАЛНИ ВЪЗЛИ, ЧИИТО ПАРАМЕТРИ СЕ ПРОМЕНЯТ ДИНАМИЧНО В РАМКИТЕ НА ЕДНА СЕСИЯ. Такъв тип решения се използват, когато трябва да останем незабелязани в мрежата. Забележка: В така показаната схема обменът на данни се извършва между две тактически цифрови устройства, които са с TEMPEST защита и ползват специализирана ОС.
  8. Как се прави ...

    Нека сега се върнем към темата. Да повторим: OSI (англ. Open Systems Interconnection Basic Reference Model) е теоретичен модел, който описва функциите, въз основа на които се осъществява процеса на обмен на данни между отделните устройства, от които е изградена мрежата. Сега нека видим как изглежда internet, през призмата на OSI моделът, който е основата на всички мрежови анализи. Това, което предстои да направим е да анализираме мрежата слой по слой.
  9. Как се прави ...

    Благодаря Ви. Снощи се прибрах от двудневна научна конференция по въпросите на компютърната сигурност. Освен с два доклада в пленарната сесия ми се наложи да участвам и в работата на една от секциите. От какво бях много приятно впечатлен (не само аз, но и моите колеги). На първо място от практическата и теоретична подготовка на курсантите (и момичетата курсанти) от Факултет „Артилерия, противовъздушна отбрана и комуникационни и информационни системи“ - гр.Шумен. Държа да отбележа, че предстои някои от участниците да представят своите идеи на предстоящи форуми в чужбина. За какво говоря. Преди всичко става дума за анализ на кибернетични атаки насочени към телекомуникационните системи в т.ч. и такива, които се базират на мрежова стеганография (интегриране на код в служебната част на информационните пакети). Тук не говорим само за софтуерни решения, но и за апаратни такива. Изследване на въпроси, касаещи широколентов пренос на данни, правни въпроси на киберсигурността, действащи международни актове и др.. Пак повтарям, че става дума за много сериозни знания. Искам специално да отбележа, участието на колеги от неправителствена организация, които са си поставили за цел да изстрелят малък (cube) спътник в ниска орбита (400 или 450 километра). Това е прекрасна идея на група млади хора, която вярвам, че ще се реализира успешно (все пак в рамките на една календарна година има само две възможни дати за подобен вид изстрелване). Имаше и една доста весела случка. Колега от друг ВУЗ се опита да оспори една от дискутираните теми (касаеща пробиви в сигурността на Crome, Mozilla и Opera), с тезата: "Това е невъзможно.". Бе оборен от двама курсанти, които просто му показаха разделите от техническата документация на Google, която визира този тип уязвимост. Една от темите, която обаче бе предмет на специално обсъждане бе темата за подготовката на граждански кадри. Основният проблем е, че сред младите бе изкуствено наложена представата, че всичко може да бъде обяснено с няколко изречения и че в internet може да се намери всякакъв вид информация (мнозина не са чували за термина "информационен шум"). За съжаление това не е така. Минималният срок за подготовка на кадри, които са в състояние да работят в реални условия е три години. Това е при условие, че вече са получили стабилна фундаментална подготовка. За огромно съжаление към момента такава липсва. Най-лошо е положението в средните училища. Въпросът е не в това, че са допуснати стратегически грешки. Въпросът е КАК ДА РАЗРЕШИМ ПРОБЛЕМЪТ. Едно от решенията, което бе взето е Факултет „Артилерия, противовъздушна отбрана и комуникационни и информационни системи“ - гр.Шумен. да стартира програма от дистанционни курсове, която да бъде достъпна за всеки желаеш. Предстои програмите да бъдат обсъдена на катедрен съвет и одобрени. Това ще бъдат курсове, касаещи въпросите на комуникациите, киберсигурността, практически решения в области като хетерегенни мрежи, разработка на специализирани приложения и др.. Предвижда се тези курсове да бъдат на степени. След като успешно сте преминали първата степен, преминавате към следващата. За всяка степен получавате съответния сертификат. Предстои Република България да изгради съвременни структури за кибернетична защита. За тази цел обаче е нужно да разполагаме с подготвени кадри. Тези кадри ще трябва да решават реални проблеми, касаещи националната ни сигурност. Това изисква много задълбочени познания в редица области като електроника, фотоника, телекомуникации, техническа и социална кибернетика, биология, неврофизиология и др.. Сами разбирате, че визирам една изключително сложна материя. Вероятно ще си зададете въпроса: Къде в момента се намира България като техническо развитие? Ще бъда честен. България изостава чувствително от държавите в региона. Пред нас е Югославия, Турция, Албания, Румъния, Гърция. Основната причина е, че повечето млади хора следват "модерна" линия на образование, която е повече с комерсиална насоченост и не винаги води до генериране на трайни и задълбочени познания. Въпреки това от видяното през тези два дни аз оставам оптимист за бъдещото развитие. За съжаление в редица сфери ние ще трябва да започнем от нула, защото са пропуснати години. Вярвам, че това, което публикувам тук ще ви позволи поне за малко да се докоснете до нещо много по-голямо и мащабно. Ще се радвам ако добиете представа към въпросите пред които са изправени структурите, отговарящи за кибернетичната безопасност. ще повече ще се радвам, ако на следващата конференция (или на други такива) срещна участници от този форум и те са лектори в някоя от работните секции. Ще ми бъде изключително приятно да обсъдим с тях всяка нова идея. Искам само да спомена, че винаги има какво да научите. Дали човекът е преподавател с научни звания и дългогодишен опит, студент или докторант е без значение. Ако познава добре материята, я която работи и не се страхува да експериментира, винаги ще има какво да вземете от него. Има области на познанието за които дори и не подозираме. В редица сфери дефицита на кадри е огромен. Разберете, че нищо не може да замени практическият опит.
  10. Как се прави ...

    При сканирането на TCP много ясно се вижда каква точно е причината да възникне грешка. При "стандартните" скенери, получаваме информация: "Портът е отворен" или "Портът не е отворен", но понякога това може да се окаже недостатъчно. Възможно е портът да стои отворен, но да не можете да достъпите съдържанието на сървъра поради някаква друга причина. Допълнително предимство е възможността да анализираме TCP пакетите, но това е друга тема.
  11. Как се прави ...

    Сега нека да видим ... КАК СЕ ТЕСТВА TCP СЪЕДИНЕНИЕ МЕЖДУ КОМПЮТЪР И СЪРВЪР? Това, което е важно да се знае е, че ТОВА МОЖЕ ДА СЕ ПОЛЗВА И КАТО МОДУЛ ЗА ТЕСТВАНЕ НА ПОРТОВЕ, НО ЛИЧНО АЗ НЕ ГО ПРЕПОРЪЧВАМ! Причината е скоростта. Работи перфектно, но ако се налага да тествате 6000 порта ще ви е малко бавничко. Първоначално ще проверим как това се прави ръчно. {------------------------------------------------------------------------------} { } { TCP PROCESS INFORMATION } { version 1.0.0.0 } { } { date: 25.12.2016 } { } {------------------------------------------------------------------------------} // CONNECT TO SERVER USING TCP function TAddressForm.ConnectToSelectedServer (Address_Value: String; Port_Value: Integer): String; begin Result:= 'Connection successful ...'; // Допускаме, че резултатът ще е добър ... if Address_Value = '' then Exit; // Ако няма въведен адрес просто излизаме от функцията ... // Преди всичко трябва да предвидим, че е възможно да не се осъществи връзка със сървъра. // Причината за това е затворен порт, неправилен адрес, липса на физическа свързаност и пр.. // Реално тази функция ни позволява анализ на TCP свързаността за всяко едно устройство. try with TCPClient do // Тук казваме, че ще ползваме нашият TCP клиент. begin Host:= Address_Value; // Задаваме адреса ... Port:= Port_Value; // Задаваме порта ... Connect; // Правим опит да се свържем със сървъра ... if Connected then begin Socket.WriteLn('Hi'); // Ако сме се свързали му казваме "Здрасти ..." Disconnect; Socket.Free; end; end; // Какво обаче ще се случи ако е възникнала грешка? // Определено е добре да видим каква е тя. except // В този случай резултатът ще е информация за получетана грешка ... on E: Exception do Result:= E.ClassName + #13 + E.Message; end; end; По елементарна функция от така приведената едва ли може да има. Как се ползва тази функция? Ето един от възможните варианти: // ON CONNECT BUTTON CLICK procedure TAddressForm.ConnectBtnClick(Sender: TObject); var Address : String; // Адреса, който тестваме S : String; PortNo : Integer; begin DebugMemo.Lines.Clear; Address:= AddressEdit.Text; // Прочитаме адреса ... PortNo:= StrToIntDef(PortNoEdit.Text, 80); // Ако нямаме или имаме грешно въведен порт, тогава StartPort:= 80 (FTP) // Тестваме дали точно PortNo за този адрес е отворен ... S:= ConnectToSelectedServer (Address, PortNo); DebugMemo.Lines.Add(''); // Записваме резултата, в текстовия редактор за да може да го анализираме ... if pos('Error', S) > 0 then DebugMemo.SelAttributes.Color:= clRed else DebugMemo.SelAttributes.Color:= clTeal; DebugMemo.Lines.Add(S); end; Мисля, че повече от ясно е, че порт 25 за адрес abv.bg (примерно) е затворен, но port 80 (което е вече обсъденото FTP) се оказва достъпен. Сега ще се върнем към урок 3, но този път изходните кодове са леко променени. Всички изходни кодове ще намерите в саморазархивиращият се архив: http://g-92.com/LESSONS/Lesson_003A.exe
  12. Как се прави ...

    След написаното по-горе (което предлагам донякъде е събудило любопитството ви. е редно да направим обобщение на всичко до тук. Най-важно е да разберем следното: 1. В момента ние разглеждаме само и единствено начините, по който данните се пренасят (транспортират) от компютъра до сървъра и обратно. 2. Всички направени до тук разглеждания са обвързани само и единствено с мрежите (локални и internet) и не касаят компютърни конфигурации и операционни системи. 3. Internet е нещо, много по-сложно отколкото би ни се искало. И така ... 1. МРЕЖОВИ ПРОТОКОЛИ ОПРЕДЕЛЕНИЕ Мрежовите протоколи са правила, въз основа на които се извършва обменът на информация между устройства, които са свързани в компютърна мрежа. Съществуват две класификации на мрежовите протоколи както следва: OSI и TCP/IP 2. OSI МОДЕЛ ОПРЕДЕЛЕНИЕ OSI (англ. Open Systems Interconnection Basic Reference Model) е теоретичен модел, който описва функциите, въз основа на които се осъществява процеса на обмен на данни между отделните устройства, от които е изградена мрежата. Описанията на функциите са обединени в групи. Всяка групата се състои от близки като логика операции. Прието е тези групи да се наричат „слоеве”. Съгласно OSI мрежата се разглежда като изградена от отделни слоеве. Всеки слой получава услуги от този, който е под него и да предоставя услуги на по-горния слой. При този обмен винаги се запазва логическата последователност. Това позволява правилното функциониране реализираните комуникационни процеси. 2.1. Слоеве, съставящи OSI модела 2.1.1. Физически слой (англ. Physical Layer) Най-долният (първи) слой на OSI модела. Той предава информацията като поток от битове. В този слой информацията се обменя в бинарен вид (поредица от единици и нули - bit). Елементите, които трябва да бъдат контролирани са честоти, преобразуване (кодиране), синхронизация, начало и край (start-stop процеси) и пр.. 2.1.2. Kанален слой (англ. Data Link Layer) Каналният слой поддържа обменa на данни от възел (от устройство) до възел (до устройство) в локална мрежа. Вторият слой на седемслойния OSI модел и използва услугите на физическия слой. От своя страна каналният слой от своя страна се дели на два подслоя както следва: · Физически канален подслой – реализира се на ниво Media Access Control адрес или накратко MAC адрес. Този адрес е уникален идентификатор на производителя на мрежовите адаптери по технологията Ethernet (фабричен номер). · Логически канален подслой - LLC (Logical Link Channel) – установява и закрива логически връзката канал между две пряко свързани устройства (мрежови възли). На ниво Data Link данните се предават като като последователност от пакети. Всеки пакет се състои от последователност от битове (единици и нули - bit) с фиксирана дължина. Всеки един пакет се проверява. Проверката се извършва от страна на получателя и посредством нея се удостверява, целоста на пакета. Когато целостта на пакета бъде удостверена, подателят получава информация, че пакетът е получен успешно. Всеки един от пакетите съдържа заглавна част, която се нарича header. В тази част се съдържат служебната и адресна информации за пакета. В заглавната част са записани уникалните фабричени номера на устройството, което предава информация и устройството, което получава информация (MAC адресите на устройствата). 2.1.3. Мрежови слой (англ. Network Layer) Tретият слой на OSI модела. Използва се за да бъде установен маршрута между компютъра-източник и компютъра-получател. На мрежовото ниво се извършва комуникация между компютърни системи, намиращи се извън локалната мрежа (външни за локалния LAN сегмент). Този слой има своя собствена маршрутна адресна архитектура. Тази архитектура се различава съществено от използваната в каналния слой. Маршрутизиращите протоколи включват: IP, IPX, Apple Talk и др. Те предават съобщения от подателя, до крайния получател през няколко междинни възела (hops). За да бъде извършено това се използват като използват уникални мрежови адреси и механизъм (протокол) на маршрутизация. Съобщенията, които трябва да се предадат се разделят на пакети с определена дължина. Тази дължина се измерва в байтове (Byte). Пакетите са снабдени с адресна информация и се подават последователно на комутационното устройство (комуникационната станция), което ги препраща до крайният получател. Отделните пакети се запаметяват във всяка станция и се съхраняват там, до момента в който не бъде потвърдено получаването на данните от сррана на получателя или информацията не бъде прехвърлена в следващата станция по маршрута. Комутация на пакети се нарича процесът, при който изпращаните пакети се съхраняват във временен буфер, след което се изпращат до крайния получател в съответствие със служебната и адресна информации, записани в заглавната част. Обикновено мрежите обменят данни посредством пакети. Всеки пакет е комутиран и може да има индивидуален маршрут. Мрежите с комутация на канали използват еднакъв маршрут за всички пакети. При този слой липсва механизъм за коригиране на грешки в процеса на обмен на данни. Това налага изцяло да се разчита на надеждноста на услугата за предаване от страна на каналния слой. 2.1.4. Транспортен слой (англ. Transport layer) Четвъртият слой на OSI модела. ТСР (англ. Transmission Control Protocol) е мрежов протокол за управление на обмена на информация (end-to-end комуникация). Предоставя на по-горните слоеве услуги с или без установяване на връзка (connection-oriented или connectionless), в зависимост от използваните протоколи. TCP използва адресите на клиентските и сървърните портове, както и тези на комункационните устройства за да гарантира правилният пренос на данни до крайния клиент. Портовете са числови идентефикатори, които обслужват мрежовите съединения за конкретен адрес (в случая визираме IP адрес). В терминологията на OSI, портът се нарича транспортен селектор (transport selector или transport suffix). Основната задача на този слой е да нареди разбърканите пакети в последователността, в която те са подадени (сегментиране на данни). Разбъркването се получава в резултат на това, че е възможно различните пакети данни да се предават по различни маршрути. Това означава различно врмезакъснение при получаването на всеки отделен пакет. Транспортното ниво разпознава оригиналната подредба на пакетите и въстановява тази подредба преди информацията да бъде предадена към по-високото сесийно ниво. За разлика от каналния слой обаче, този слой може да открие грешки и автоматично да генерира заявка за пре-предаване на информацията. 2.1.5. Сесиен слой (англ. Session layer) Петият слой на OSI модела. Този слой управлява комуникацията между две компютърни системи. Това се извършва посредством управление на комуникационите потоци. Този процес носи името „сесия” или „комуникационна сесия”. Сесийният слой определя дали комуникациите могат да бъдат двустранни или едностранни. Освен това този слой се следи кога една заявка е изпълнена и може да се обработи следващата. Използва се относително рядко като самостоятелен слой. Повечето протоколи свързват функциите му с тези на транспортното ниво (разглеждат го като елемент от TCP протокола). 2.1.6. Представителен слой (англ. Presentation layer) Шестият слой на OSI модела. Този слой управлява кодирането на данните. Кодирането е процес, при който се извършва преобразуване на информацията. В системите за цифрова комуникация, кодирането се извършва посредством представянето на данните в цифров вид (представят се като числа). За тази цел се прилагат различни математически и/или друг вид операции. Не всички компютърни системи използват една и съща схема за кодиране на данни. Това ниво позволява да се реализира своеобразен „превод” на информацията, така, че независимо от използваната апаратна част и програмно осигуряване, получателят да получи това, което подателят е изпратил. Понякога представителният слой служи за преобразуване на числени формати, както и за компресиране нна информацията, с цел ускоряване на процесите. 2.1.6. Приложен слой (англ. Application layer) Приложният слой е седмият, последен слой на OSI модела. Този слой осигурява интерфейсът между потребителските приложения и мрежовите услуги. Под интерфейс ще разбираме средствата за взаимодействие между различни компютърни системи (апаратни и програмни такива). Този слой е отговорен за генерирането на комуникационните сесии. Този слой не включва потребителските приложения. Той позволява на тези приложения да осъществяват обмен, като използват мрежови протоколи. Ако едно крайно приложение генерира заявка към сървър, приложният слой преобразува тази заявка като заявка към съответния комуникационен протокол. След като това бъде направено се установява комуникационна сесия между крайния потребител и сървъра и се извършват съответните действия. P.S. Благодаря на колегите от BS за любезно предоставената информация, която силно се различава от редица публикации в internet.
  13. Will Applying for a Mortgage Cause Problems?

    Обърни се към агенция за недвижими имоти. Тук най-много да ти построим виртуална колибка. То бива спам ама чак толкова ...
  14. Как се прави ...

    Нека съвсем малко разширим темата за FTP. Много често, когато се анализира сигурността на един или друг web-ресурс, се пропуска един фундаментален въпрос: КОИ ФАЙЛОВЕ И РАБОТНИ ДИРЕКТОРИИ СА ДОСТЪПНИ ЗА КЛИЕНТА? Знаете ли колко са т.н. "открити" FTP сървъри? Няма да повярвате. Те са изключително много и съдържат безценна информация. Повечето се достъпват посредством ftp://нещо си ... или посредством IPv4 адреса (ако го знаете). При всички случаи обаче може да ги ползвате за да проверите познанията си. Както можете да видите от изображението, вие може да извлечете информация за 'текущата" директория, в която се намирате. Това, което трябва да запомните е, че не винаги "текущата" директория съвпада с коренната (root) директорията. Най-важно за нас е дали имаме достъп до системните директории на сървъра, които отговарят за изпълнението на скриптове (PHP, Python, Perl и др.) както и до директориите, в които физически се съхраняват СУБД (Системите за Управление на Бази от Данни като My SQL, IB, DB2, SubBase, Firebird и др..). Ako СУБД са на същият сървър (визирам физическото устройство) това ви гарантира тотален контрол над системата. Друг важен аспект е, че трябва да се абстрахирате (веднъж и завинаги) от идеята, че сървъра, с който комуникирате, задължително е Linux. Това е грешка и не бива да се допуска. Може да се окаже, че осъществявате обмен с IBM 3270/PC FTP (примерно) или някакъв друг, за който не сме и чували. Ако синтаксисът на командите е стандартен е добре, но ако не е тогава става доста интересно. ВСЯКА ДИРЕКТОРИЯ И ВСЕКИ ФАЙЛ НА СЪРВЪРА ИМАТ ДЕЛЕГИРАНИ ПРАВА (PERMISSIONS) ЗА КОНКРЕТЕН ПОТРЕБИТЕЛ, ГРУПА ОТ ПОТРЕБИТЕЛИ И ОБЩИ ТАКИВА. Тези права (permissions) могат да бъда: право да се чете, право да се редактира, право да се свали локално, право да с запише на друго място, право да се изтрие и т.н.. Правата по подразбиране са едно, а правата делегирани от системните администратори са нещо различно. Това, че системният администратор не си е свършил работата, не означава, че една или друга ОС е лоша. То означава само и единствено, че добрите системни администратори се отнасят отговорно към това, което правят, а не до там добрите, пренебрегват мерките за сигурност. Независимо каква ОС ползвате (Windows. Linux. MacOS и др.) правата се записват или като символен низ от вида: lrwx rwx rwx или като число от вида: 725 Числото се формира въз основа на зададените права. Например, акo са зададени следните права: User: Read - 1 Write - 1 eXecute - 1 Group: Read - 0 Write - 0 eXecute - 0 World: Read - 0 Write - 0 eXecute - 0 Числото ще бъде: 7-0- 0, а символния низ: drwx _ _ _ _ _ _ Това означава, че правата за четене, запис и изпълнение са делегирани само и единствено на конкретен потребител и на никой друг. Темата е доста обширна и едва ли ще бъдем в състояние да я разгледаме детайлно в рамките на този форум. Повече за това какви команди се ползват при FTP протокола, може да научите на следния адрес: https://www.iana.org/assignments/ftp-commands-extensions/ftp-commands-extensions.xhtml Важно е да се научите да ползвате подобен вид справочни материали. Научете се да си изграждате собствени ресурси от полезни документи и техническа документация. Не разчитайте на internet, a още по малко на Google. Свалете си това и го ползвайте. Това е друг подход, чиято цел е да ви предпази от нежелано "филтриране". И не забравяйте: Сървърите могат да бъдат различни. Това важи както за апаратната част, така и за използваната ОС. А ето един прекрасно написан материал как се прави FTP сървър на компютър, който ползва MacOS. http://blog.neweb.co/bg/create-ftp-server-mac/
  15. Как се прави ...

    В предният пост, показахме как може да получим изключително полезна информация от страна на сървъра. Обяснихме защо е важно да знаем как функционират TCP, UDP и IP протоколите. Днес ще се запознаем с това как, функционират протоколите от по-високо ниво. Най-лесно е да видим това с един от най-старите (и най-масово използвани протоколи), а именно FTP. Тук също няма нищо сложно, Клиентът изпраща към сървъра някакъв символен низ. В случая работната станция се обръща към сървъра и казва следното: PORT 192,168,1,2,200,254<EOL> Вижте внимателно какво съдържа стринга - IPv4 адреса на компютъра от който е изпратена заявката. На практика се вижда IP адреса зад рутера! Когато този низ бъде получен от сървъра, след проверка той гордо отговаря: 200 PORT command successful<EOL> Следващите редове обаче са още по ... забавни. Клиентът изпраща сленият низ: MLSD<EOL> и сървърът съвсем кротко отговаря с: 150 connecting to port 51457<EOL> Повече от очевидно е, че сървърът казва кой порт е отворен за да се осъществи комуникация. И сега внимавайте много добре. Ако сте сканирали за отворени портове, едва ли точно порт 51457 е бил отворен. Разбирате ли какво се случи реално? Както сървърът, така и клиентът обмениха КРИТИЧНА информация в ... открит вид. Тук никаква защита не помага. Просто принципът е такъв. Без тази информация няма контакт. Без контакт няма как да си свалим последната песен на Азис (примерно). Сега искам да внимавате много добре. Това, което клиентът и сървърът обменят е комуникация между машините на ниво TCP. На ниво FTP тази комуникация може да има малко по-различен вид. Тук клиентът изпраща команда FEAT и сървърът съвсем добронамерено отговаря кое какво е и за какво може да се ползва (стига да знаем какво точно искаме). И пак повтарям ДО ТУК НЕ СМЕ НАПИСАЛИ И РЕД ЗА HTTP И HTTPS. НЯМА НИТО ЕДИН СКРИПТ, НО УСПЯХМЕ ДА ИЗВЛЕЧЕМ МНОГО ИНФОРМАЦИЯ, КОЯТО МОЖЕ ДА ПОЛЗВАМЕ ЗА РАЗЛИЧНИ ЦЕЛИ. Ако ми позволите ще цитирам Сун Дзъ ("Изкуството на войната") - Битката се печели от този, който познава противника по-добре от самия него. Забележка: Във всички примери, които прилагам са ползвани само и единствено тестови сървъри. Тези сървъри са създадени с учебна цел.
×

Important Information

За да посещавате този уебсайт е необходимо да се съгласите с Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.