Data: 2018-10-30 13:06:57 | |
Autor: BQB | |
opoznienia na switchu | |
W dniu 30.10.2018 o 12:36, Marcin Debowski pisze:
Jakiego rzędu są opóźnienia na gigabitowych swiłczach? Powiedzmy, że Zależy od switcha. Są wolniejsze i szybsze, mają różną przepustowość, zarządzalne mogą priorytetować konkretny ruch lub konkretne porty. |
|
Data: 2018-10-30 12:33:34 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-10-30, BQB <adres.anty@spamowy.com.invalid> wrote:
W dniu 30.10.2018 o 12:36, Marcin Debowski pisze: Ale jakie to są rzędy wielkosci np. dla jakiś tanich bez zarządzania, powiedzmy TL-SG105? -- Marcin |
|
Data: 2018-10-30 12:39:59 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Tue, 30 Oct 2018 12:33:34 +0000, Marcin Debowski wrote:
Ale jakie to są rzędy wielkosci np. dla jakiś tanich bez zarządzania, Wpływ na szybkość jest zerowy. Wpływ na latencję natomiast - poniżej milisekundy. Mateusz |
|
Data: 2018-10-31 00:23:37 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-10-30, Mateusz Viste <mateusz@nie.pamietam> wrote:
On Tue, 30 Oct 2018 12:33:34 +0000, Marcin Debowski wrote: Dzięki. Tak mi się na zrowy chłopski rozum wydawało (w końcu jak inaczej zbudowac większą sieć), ale mam wpiete juz 3 sztuki, a być może będę musiał dołożyc jeszcze jeden pomiedzy, to wolałem się upewnić. -- Marcin |
|
Data: 2018-10-31 08:23:09 | |
Autor: BQB | |
opoznienia na switchu | |
W dniu 31.10.2018 o 01:23, Marcin Debowski pisze:
On 2018-10-30, Mateusz Viste <mateusz@nie.pamietam> wrote: ZTCP, to kiedyś czytałem, że 7 swichy w szeregu to jest maks. ale nigdy tego nie zweryfikowałem. Nie wiem również, czemu niby tylko tyle. |
|
Data: 2018-10-31 09:24:25 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-10-31, BQB <adres.anty@spamowy.com.invalid> wrote:
W dniu 31.10.2018 o 01:23, Marcin Debowski pisze: Nie ma to coś wspólnego z TTL (hop limit)? -- Marcin |
|
Data: 2018-10-31 13:02:08 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Wed, 31 Oct 2018 09:24:25 +0000, Marcin Debowski wrote:
On 2018-10-31, BQB <adres.anty@spamowy.com.invalid> wrote: TTL to właściwość pakietu IP. Ramka Ethernetowa nie posiada żadnego analogicznego licznika. Nie ma żadnego limitu dot. ilości switchy przez które ramka może zostać przełączona. Milion lat temu, kiedy światem rządziły repeatery i huby a samo pojęcie domeny kolizyjnej powodowało przerażenie w oczach każdego admina, sprawy miały się inaczej. Ale to wszystko szczęśliwie jest już dawno za nami. Mateusz |
|
Data: 2018-10-31 21:02:57 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-10-31, Mateusz Viste <mateusz@nie.pamietam> wrote:
On Wed, 31 Oct 2018 09:24:25 +0000, Marcin Debowski wrote: Aha, czyli switche to tylko poziomie ramki i nic tam w pakietach nie grzebie. A routery? Nie modyfikują licznika? -- Marcin |
|
Data: 2018-11-01 07:48:22 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Wed, 31 Oct 2018 21:02:57 +0000, Marcin Debowski wrote:
On 2018-10-31, Mateusz Viste <mateusz@nie.pamietam> wrote: Zgadza się, przełącznik Ethernetowy to urządzenie ograniczające się - jak sama nazwa wskazuje - do warstwy drugiej, tj. obecnie z reguły sieci Ethernet. Pojęcie "pakietu" w ogóle nie istnieje w switchowej głowie. Abstrahuję tu od tzw. "switchy L3" które od kilkunastu lat można ujrzeć w kolorowych katalogach producentów, bo to nic innego jak małe routerki z dużą ilością portów, przebrane za switch. A routery? Nie modyfikują licznika? Routery to i owszem, oczywiście. Od tego ten licznik właśnie jest, by pakiety IP nie zapętlały się zbyt długo w meandrach internetu. Tutaj maksymalna ilość skoków jest zależna od tego ile sobie zażyczy nadawca (w granicach do 255 skoków, bo TTL IP to ośmiobitowa wartość). No ale dyskusja była, zdaje się, o przełącznikach. Wracając do tematu TTL, to istnieją urządzenia routujące które nie zmieniają licznika. Urządzenia te czynią tak dlatego, że chcą być niewidzialne ("stealth"), bo często poza wymuszaniem swojego trasowania wykonują także szereg innych operacji filtrująco-analizujących (DPI, IDS, IPS...). Zdarzyło mi się widzieć jak wielo-gigabitowa sieć z takimi urządzeniami została zabita przez 1 (jeden) błędny pakiet - właśnie przez brak mechanizmu wykrywania pętli w postaci TTL. Mateusz |
|
Data: 2018-11-02 04:02:17 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-11-01, Mateusz Viste <mateusz@nie.pamietam> wrote:
On Wed, 31 Oct 2018 21:02:57 +0000, Marcin Debowski wrote: Tak tak, ale korzystam z okazji i z Twojej wiedzy co by poukładac sobie to w głowie w sposób nieco bardziej systematyczny. Wracając do tematu TTL, to istnieją urządzenia routujące które nie zmieniają licznika. Urządzenia te czynią tak dlatego, że chcą być niewidzialne ("stealth"), bo często poza wymuszaniem swojego trasowania wykonują także szereg innych operacji filtrująco-analizujących (DPI, IDS, IPS...). Zdarzyło mi się widzieć jak wielo-gigabitowa sieć z takimi urządzeniami została zabita przez 1 (jeden) błędny pakiet - właśnie przez brak mechanizmu wykrywania pętli w postaci TTL. Nb. czytałem jakiś czas temu o bardzo ciekawym ataku opierającym się (OIDP) własnie na odczycie stanu licznika - sprawdzane było w ten sposób z jakim hostem łączył się atakowany serwer czy tez jakie zaszło zdarzenie (modyfikujące lub nie licznik). -- Marcin |
|
Data: 2018-11-02 07:29:34 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Fri, 02 Nov 2018 04:02:17 +0000, Marcin Debowski wrote:
Nb. czytałem jakiś czas temu o bardzo ciekawym ataku opierającym się Licznik TTL to średnio interesujące źródło informacji, a sam jego odczyt ciężko uznać za "atak". Swoją drogą, jego wartość faktycznie pozwala odgadnąć (z dużą dozą tolerancji) typ systemu operacyjnego który chowa się za danym adresem. Ale to informacja tak czy inaczej bardzo luźna, dużo lepsze wyniki w tym kontekście daje analiza flag, które host ustawia podczas hand-shake'u TCP (tzw. "TCP fingerprinting"). Mateusz |
|
Data: 2018-11-02 07:39:35 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-11-02, Mateusz Viste <mateusz@nie.pamietam> wrote:
On Fri, 02 Nov 2018 04:02:17 +0000, Marcin Debowski wrote: To nie było takie proste, ale nie moge obie przypomnieć teraz szczegółów. Jak odgrzebię to zapodam. -- Marcin |
|
Data: 2018-11-02 09:05:54 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Fri, 02 Nov 2018 07:39:35 +0000, Marcin Debowski wrote:
On 2018-11-02, Mateusz Viste <mateusz@nie.pamietam> wrote: To jest bardzo proste. Jak kto ciekawy to sięgnie po gugla i znajdzie m.in. to: https://en.wikipedia.org/wiki/TCP/IP_stack_fingerprinting Mateusz |
|
Data: 2018-11-02 10:11:30 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-11-02, Mateusz Viste <mateusz@nie.pamietam> wrote:
On Fri, 02 Nov 2018 07:39:35 +0000, Marcin Debowski wrote: Ta forma ataku nie byłą prosta, nie fingerprintinig. Zresztą, mam coraz więcej wątpliwości czy czegoś nie pomieszałem. Natrafiłem na opis chyba na Niebezpieczniku, po którym dotarłem do oryginału, ale cholera nie mogę się tego teraz doszukać. -- Marcin |
|
Data: 2018-11-02 10:25:23 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Fri, 02 Nov 2018 10:11:30 +0000, Marcin Debowski wrote:
To nie było takie proste, ale nie moge obie przypomnieć teraz Ach bo ty o tym ataku o którym niewiele wiemy, że był skomplikowany. Myślałem że odnosisz się do mechanizmu fingerprintingu TCP :) Ataki to swoją drogą jak najbardziej, istnieją przeróżne i zaiste bywają często mocno pokręcone. Mateusz |
|
Data: 2018-11-03 01:51:56 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-11-02, Mateusz Viste <mateusz@nie.pamietam> wrote:
On Fri, 02 Nov 2018 10:11:30 +0000, Marcin Debowski wrote: No wiem, że pieprzę trzy-po-trzy, ale było to na tyle fajne, że musiałem się podzielic, a teraz za cholerę nie mogę dość co to było i wygóglać. -- Marcin |
|
Data: 2018-11-02 09:40:09 | |
Autor: Roman Tyczka | |
opoznienia na switchu | |
On 02 Nov 2018 07:29:34 GMT, Mateusz Viste wrote:
Nb. czytałem jakiś czas temu o bardzo ciekawym ataku opierającym się Widzę, że kolega obcykany w TCP, więc skorzystam z okazji i spytam. Na czym od strony TCP polega połączenie P2P, jak je uzyskać? Chodzi mi o niskopoziomowy dostęp do socketa, od strony programowej. Załóżmy, że chciałbym się pobawić w połączenia P2P i je zakodować na poziomie windowsowych socketów. Od czego zacząć, jak ugryźć? -- pozdrawiam Roman Tyczka |
|
Data: 2018-11-02 09:37:23 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Fri, 02 Nov 2018 09:40:09 +0100, Roman Tyczka wrote:
Widzę, że kolega obcykany w TCP, więc skorzystam z okazji i spytam. Na tak zadane pytanie naprawdę nie wiem co odpowiedzieć, bo nie rozumiem co kolega kombinuje. Odpowiem jak umiem. Połączenie P2P to nic innego jak połączenie między jednym hostem a drugim, bez udziału dedykowanego serwera. W praktyce jeśli chcemy móc nawiązać połączenie w sposób niezależny od tego która ze stron jest inicjatorem, to obie strony muszą posiadać socket otwarty w trybie LISTEN. Czyli de facto oba hosty są "serwerami". Przykładem takiej implementacji jest popularne NTP. NTP działa co prawda z UDP, ale przy TCP zasada jest podobna. W naturze TCP leży pojęcie "serwera" i "klienta", więc dodatkowa trudność przy TCP polega na ustaleniu kto będzie robił za serwer a kto za klienta. Tutaj rozwiązania do głowy przychodzą mi (tak na zaraz) trzy: 1. jeśli adresy IP obu hostów są z góry znane, to ew. przyjąć że ten niższy jest zawsze serwerem, więc niech wyższy się łączy. 2. oba hosty nasłuchują na porcie x, jednocześnie starając się nawiązać równoległe połączenie z rozmówcą z innego socketu. Jak tylko komuś uda się nawiązać połączenie, likwiduje swój socket nasłuchujący (a druga strona zaprzestaje prób połączenia w drugą stronę). 3. oba hosty przechodzą losowo w tryb serwer/klient. Np. pierwsze 5s host czeka na połączenie z zewnątrz. Jeśli się nie uda, to przechodzi w tryb klienta i sam próbuje nawiązać połączenie z drugą stroną przez kilka sekund. Długość okresów klient/serwer wypadałoby losować, coby uniknąć nieszczęśliwej synchronizacji w której oba hosty zawsze są w tym samym trybie. Każda z powyższych metod ma swoje wady i zalety. Wybór zależy głównie od założeń projektowych. Od strony programowej nie ma tu nic szczególnego. Logika będzie różna zależna od wersji 1/2/3, ale "klient" zawsze będzie musiał wykonać kroki socket() + connect() ....a "serwer" zawsze będzie musiał wykonać kroki socket() + bind() + listen() + accept() Jeśli celem jest stworzenie jakiegoś własnego protokołu do wymiany danych, to wybór UDP wydaje się (hobbystycznie patrząc) ciekawszy. Pozwoliłby w dużo bardziej elegancki sposób rozwiązać etap nawiązywania sesji, i pozwoliłby na dużo większą dowolność w implementacji metod transferu danych. Całkiem możliwe również że kompletnie nie zrozumiałem pytania, w takim razie zalecam uściślenie. Mateusz |
|
Data: 2018-11-02 10:59:01 | |
Autor: Roman Tyczka | |
opoznienia na switchu | |
On 02 Nov 2018 09:37:23 GMT, Mateusz Viste wrote:
[...]Widzę, że kolega obcykany w TCP, więc skorzystam z okazji i spytam. Jeśli celem jest stworzenie jakiegoś własnego protokołu do wymiany danych, to wybór UDP wydaje się (hobbystycznie patrząc) ciekawszy. Pozwoliłby w dużo bardziej elegancki sposób rozwiązać etap nawiązywania sesji, i pozwoliłby na dużo większą dowolność w implementacji metod transferu danych. Rzeczywiście za mało precyzyjnie napisałem. Używając określenia P2P miałem na myśli nie tylko bezpośrednie połączenie host-host, co jest oczywiste, ale dalsze problemy jakie za tym idą, czyli nawiązanie połączenia omijającego NAT. Czytałem gdzieś kiedyś o tym, że sprawa opiera się o niskopoziomowe manipulowanie nagłówkami TCP/IP w czasie zestawiania połączenia, potem to już z górki (w sensie, że sama komunikacja jest innym etapiem, a problemem jest nawiązanie połączenia). Takie rzeczy robi skype, torrenty czy kiedyś emule. -- pozdrawiam Roman Tyczka |
|
Data: 2018-11-02 11:03:49 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Fri, 02 Nov 2018 10:59:01 +0100, Roman Tyczka wrote:
Rzeczywiście za mało precyzyjnie napisałem. Używając określenia P2P Nie ma cudów - aby Grześ z Krzysiem mogli pogadać po TCP, to jeden z nich co najmniej musi być poza NATem. Jeśli obaj są za NATem, to pomóc może jedynie oparcie się na osobie trzeciej. Z UDP można próbować kombinować, ale to niezwykle upierdliwa sprawa: Krzyś wysyła datagramy UDP do Grzesia, z portu src 5000 do portu dst 6000. Krzyś -> RouterK -> INTERNET -> RouterG -> Grześ Po drodze RouterK zmienia port źródłowy datagramów na, dajmy na to, 20000. W takiej sytuacji Grześ może tylko próbować wysyłać tysiące pakietów do Krzysia, z losowymi portami src licząc, że RouterG w którymś momencie podmieni port src na akurat ten wybrany przez RouterK. Słowem całkowita loteria. Dla zwiększenia szans powodzenia, Krzyś może rozpocząć kilkanaście sesji UDP z różnymi portami src, coby Krzysiowi było łatwiej trafić. Aby zrozumieć tandetność tej sytuacji, należy zrozumieć co tak naprawdę robią RouterK i RouterG. Kiedy router dostaje jakiś pakiet z wewnątrz: 1. zmienia port src 2. zmienia IP src 3. oblicza nowy checksum TCP (lub UDP) 4. zapisuje sobie w pamięci (w tzw. tablicy sesji) informację co przetłumaczył, od kogo i na co. Kiedy router dostaje jakiś pakiet z zewnątrz: 1. sprawdza w tablicy sesji czy posiada wpis odpowiadający tuplowi IPsrc +IPdst+portSrc+portDst. 2. Jeśli któryś z wpisów tablicy sesji się zgadza, to podmienia adres DST i port DST zgodnie z wpisem. Wynika z tego, że aby ustalić połączenie z kimś za NATem, trzeba wystarczająco szczęścia by wstrzelić się w parametry wpisu tablicy sesji. A parametry te zna tylko sam router. Porty to wartości szesnastobitowe (przy czym zakres 0-1024 można pominąć), więc kombinacji jest tylko nieco ponad 4 miliony. Ale to dalej loteria. Odpowiadając na pierwotne pytanie: nie ma takiej magii, która pozwoliłaby ustawić na sockecie flagę "P2P" aby dostać się do dowolnego hosta za NATem. Ale cierpliwości - IPv6 już u progu :) (od 20 lat) Mateusz |
|
Data: 2018-11-02 12:41:02 | |
Autor: Roman Tyczka | |
opoznienia na switchu | |
On 02 Nov 2018 11:03:49 GMT, Mateusz Viste wrote:
On Fri, 02 Nov 2018 10:59:01 +0100, Roman Tyczka wrote: Ok, w takim razie JAK aplikacja typu torrent łączy się z setkami innych punktów w sieci P2P, z tymi za NATem także (mimo, że sama też jest za NATem)? Czytałem kiedyś opis tej technologii, padały tam nazwy pewnych technik i odbywało się to niskopoziomowo, niestety wtedy mnie to mniej interesowało i nie pamiętam, a teraz chętnie bym się tym pobawił. I to działa na IPv4, na 100%. -- pozdrawiam Roman Tyczka |
|
Data: 2018-11-02 12:20:09 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Fri, 02 Nov 2018 12:41:02 +0100, Roman Tyczka wrote:
Ok, w takim razie JAK aplikacja typu torrent łączy się z setkami innych Czyżby tak się działo? Tzn. czy aplikacja BitTorrent jest w stanie połączyć się ze zdalnym hostem za całkowitym NATem, sama będąc za całkowitym NATem i bez pomocy zewnętrznego serwera? Jeśli taka magia istnieje to sam chętnie się o niej dowiem. Z tego co się orientuję, to większość torrentowców ustawia przekierowania na swoich routerach. Właśnie po to, by móc być osiągalnym. W ten sposób są też w stanie nawiązać połączenie z kimkolwiek kto jest za całkowitym (tzn. bez przekierowań) NATem, posiłkując się serwerem wspólnym dla obu hostów, przez który to serwer host A może poprosić hosta B "połącz się ze mną bo coś bym chciał od ciebie a jesteś za NATem, mój adres to 1.2.3.4, pukaj do portu 6999". Istnieją też brzydkie tricki takie jak UPnP czy też NAT-PMP, ale to wymaga wsparcia ze strony domowego routera i polega z grubsza na automatycznym ustawianiu reguł z przekierowaniami. Mateusz |
|
Data: 2018-11-02 23:33:54 | |
Autor: m | |
opoznienia na switchu | |
W dniu 02.11.2018 o 12:03, Mateusz Viste pisze:
On Fri, 02 Nov 2018 10:59:01 +0100, Roman Tyczka wrote: Nieprawdą jest jakobyż. https://en.wikipedia.org/wiki/Hole_punching_(networking) p. m. |
|
Data: 2018-11-03 00:15:38 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-11-02, m <mvoicem@gmail.com> wrote:
W dniu 02.11.2018 o 12:03, Mateusz Viste pisze: No ale to jest z użyciem "third party". -- Marcin |
|
Data: 2018-11-03 03:05:22 | |
Autor: m | |
opoznienia na switchu | |
W dniu 03.11.2018 o 01:15, Marcin Debowski pisze:
On 2018-11-02, m <mvoicem@gmail.com> wrote: Tylko w zakresie poznania portu na który peery mają do siebie gadać. Potem już gadają bezpośrednio ze sobą. (w dużym uproszczeniu). p. m. |
|
Data: 2018-11-03 02:57:52 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-11-03, m <mvoicem@gmail.com> wrote:
W dniu 03.11.2018 o 01:15, Marcin Debowski pisze: Ale to nie jest takie "tylko". Cała trudność polega na tym, że trzeba być albo poza NATem albo użyć jakiejś znanej usługi. Można jeszcze na ślepo walić po portach, o czym Mateusz napisał, co też może zostać wykryte (bo musiałoby być intensywne) i po ptokach. -- Marcin |
|
Data: 2018-11-03 09:13:57 | |
Autor: Roman Tyczka | |
opoznienia na switchu | |
On Sat, 03 Nov 2018 02:57:52 GMT, Marcin Debowski wrote:
miałem na myśli nie tylko bezpośrednie połączenie host-host, co jestco najmniej musi być poza NATem. Jeśli obaj są za NATem, to pomóc może jedynie oparcie się na osobie trzeciej. Tak, to jest chyba to o co pytałem. Trzecia strona w przypadku skypa czy team viewera jest zupełnie naturalna. Ciekawi mnie jednak jak to jest w sieciach torrent, gdzie niby nie ma serwerów. Czy jest możliwe wykrycie peera losowymi adresami i portami? Nie sądzę. Może jest jeszcze jakiś trick? -- pozdrawiam Roman Tyczka |
|
Data: 2018-11-03 09:43:16 | |
Autor: nadir | |
opoznienia na switchu | |
W dniu 2018-11-03 o 09:13, Roman Tyczka pisze:
Tak, to jest chyba to o co pytałem. Trzecia strona w przypadku skypa czy W torrentach jest tracker i on podaje namiary na seedy i peery. Jak uda ci się losowo wstrzelić odpowiedni adres i port, to też powinno zadziałać. Nie rozgryzałem tego jakoś i nie używałem, ale chyba magnetlink jakoś tak działa. |
|
Data: 2018-11-03 10:36:27 | |
Autor: Roman Tyczka | |
opoznienia na switchu | |
On Sat, 3 Nov 2018 09:43:16 +0100, nadir wrote:
Tak, to jest chyba to o co pytałem. Trzecia strona w przypadku skypa czy A klient torrenta zna adres tego trackera/trackerów? Bo jeśli zna to co wtedy, gdy klienta potrzymam 3 lata w offline, trackery jakie znał zdechną i nie będzie znał nowych... połączy się z siecią? No chyba, że magnetlink ma w sobie zakodowany adres, ale wtedy też taki link po latach staje się martwy, tak jest? -- pozdrawiam Roman Tyczka |
|
Data: 2018-11-03 09:57:07 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Sat, 03 Nov 2018 10:36:27 +0100, Roman Tyczka wrote:
A klient torrenta zna adres tego trackera/trackerów? Bo jeśli zna to co O tyle co się orientuję (ale żadnym ekspertem torrentowym nie jestem), to adres(y) trackerów znajduję się w pliku *.torrent (lub w magnet-linku). Jeśli żaden z tych trackerów nie działa to dupa. Ew. możesz dodać ręcznie jakieś dodatkowe trackery, licząc na to że inni też tak zrobili. No chyba że korzystasz z DHT, i łączysz się z innymi trackerami dla innych potrzeb, to wtedy jest szansa że akurat znajdą się inni użytkownicy posiadający dane które cię interesują. Mateusz |
|
Data: 2018-11-03 11:17:16 | |
Autor: nadir | |
opoznienia na switchu | |
W dniu 2018-11-03 o 10:36, Roman Tyczka pisze:
A klient torrenta zna adres tego trackera/trackerów? Bo jeśli zna to co Adres trackera jest "zaszyty" w pliku torrent. Jak tracker zdechnie, to nici z wymiany informacji o peer-ach. Choć można w miarę upływu czasu dodawać i modyfikować adresy trackerów, właśnie na wypadek jak zdechną. No chyba, że magnetlink ma w sobie zakodowany adres, ale wtedy też taki Jak to dokładnie działa w magnet link, to nie wiem. |
|
Data: 2018-11-03 13:01:14 | |
Autor: Andrzej P. Wozniak | |
opoznienia na switchu | |
Osoba podpisana jako nadir <none@hell.org>
w artykule <news:5bdd75ae$0$494$65785112news.neostrada.pl> pisze: W dniu 2018-11-03 o 10:36, Roman Tyczka pisze: Magnet link w podstawowej wersji zawiera skrót (hash) pliku *.torrent. Może też do linku dodawać parametry wywołania jak dla typowy linku, np.: dn=<download name> tr=<adres trackera> Przykładowo dla pliku "nazwa torrenta.torrent" magnet link może wyglądać tak: magnet:?xt=urn:btih:tu_hash_torrenta_hex&dn=nazwa+torrenta&tr=http%3A%2F%2Ftracker1.org%2Fann%3Fmagnet&tr=udp%3A%2F%2Ftracker2.org%3A80%2Fannounce Widać tu nazwę i dwa trackery, przy czym drugi wołany po UDP i z podanym portem. Jeśli trackery nie działają, można je usunąć i dodać nowy, oczywiście poprawnie zapisany jako urlencoded. -- Andrzej P. Woźniak uszer@pochta.onet.pl (zamień miejscami z<->h w adresie) |
|
Data: 2018-11-03 16:08:35 | |
Autor: nadir | |
opoznienia na switchu | |
W dniu 2018-11-03 o 13:01, Andrzej P. Wozniak pisze:
Magnet link w podstawowej wersji zawiera skrót (hash) pliku *.torrent. Może To to jest pikuś. Ja mam na myśli takiego magnet linka: magnet:?xt=urn:btih:HI7NPHMTIXD6RTS4JSGWTCCTEHSGKIIA Jest tylko hash pliku i nic po za tym. |
|
Data: 2018-11-03 15:23:39 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Sat, 03 Nov 2018 16:08:35 +0100, nadir wrote:
To to jest pikuś. W takiej sytuacji, klient torrentowy może próbować posiłkować się jakąś swoją sztywną listą trackerów lub skorzystać z DHT. W każdej z tych sytuacji niezbędna jest pomoc zewnętrznego serwera. Mateusz |
|
Data: 2018-11-03 20:17:04 | |
Autor: Andrzej P. Wozniak | |
opoznienia na switchu | |
Osoba podpisana jako nadir <none@hell.org>
w artykule <news:5bddb9f4$0$484$65785112news.neostrada.pl> pisze: W dniu 2018-11-03 o 13:01, Andrzej P. Wozniak pisze: To oczywiście lipny przykład, bo poprawny skrót jest zapisywany szesnastkowo. Jest tylko hash pliku i nic poza tym. Jak napisałem, że możesz dodać nowy tracker, to dodaj jakikolwiek działający, jeśli nie masz żadnego aktywnego torrenta. Nazwę też możesz dodać sam - tymczasową, aby tylko na liście pobierania wyświetlało się coś sensownego i niepowtarzalnego. -- Andrzej P. Woźniak uszer@pochta.onet.pl (zamień miejscami z<->h w adresie) |
|
Data: 2018-11-03 20:43:58 | |
Autor: nadir | |
opoznienia na switchu | |
W dniu 2018-11-03 o 20:17, Andrzej P. Wozniak pisze:
magnet:?xt=urn:btih:HI7NPHMTIXD6RTS4JSGWTCCTEHSGKIIA A co w nim lipnego? Mam na przykład taki, świeży wygenerowany na przykładzie hash-a z działającego torrenta: magnet:?xt=urn:btih:ALGVGJL3ND5MSBEJQUF6CBUR356EFZC2 Jak napisałem, że możesz dodać nowy tracker, to dodaj jakikolwiek Ależ ja wiem, że mogę sobie pododawać to i tamo. Mnie bardziej dziwi jak to działa bez dodawania żadnych trackerów. Skąd mój klient wie do czego łączyć i skąd cokolwiek pobierać? Gdzieś te hash-e są rozgłaszane? |
|
Data: 2018-11-03 23:50:09 | |
Autor: Andrzej P. Wozniak | |
opoznienia na switchu | |
Osoba podpisana jako nadir <none@hell.org>
w artykule <news:5bddfa80$0$526$65785112news.neostrada.pl> pisze: W dniu 2018-11-03 o 20:17, Andrzej P. Wozniak pisze: No dobra, przyjrzałem się jeszcze raz. Skróty wyglądają na zapisane w kodowaniu Base32 (znaki A-Z, 2-7) zamiast hex (znaki 0-9, A-F). Jak napisałem, że możesz dodać nowy tracker, to dodaj jakikolwiekAleż ja wiem, że mogę sobie pododawać to i tamo. A jak działa podłączanie po raz pierwszy komputera do internetu? Przecież wtedy nie ma jeszcze adresu IP. Skąd Raczej serwer. W trybie bez trackerów każdy z klientów sam działa jak tracker i rozgłasza swoje usługi po UDP. Z drugiej strony zaś nasłuchuje, czy inne klienty nie rozgłaszają się jako trackery. Jeśli nie ma innego klienta w sieci lokalnej czy w tej samej klasie adresów IP (należących do jednego dostawcy), to oczekiwanie na trafienie może trwać miesiącami. Stąd sugestia, by zawsze mieć aktywnego jakiegoś torrenta z działającymi trackerami lub trackery dopisywać samodzielnie. Gdzieś te hash-e są rozgłaszane? Skróty to są raczej wymieniane bezpośrednio między klientami, kiedy już jakieś się ze sobą skontaktują. Oprócz tego klienty pracujące jako trackery udostepniają listę innych klientów, z którymi miały kontakt. Przy włączonym DHT (i innych rozszerzeniach) i aktywnych torrentach klient nie tylko stale się rozgłasza, ale też ma wciąż niepustą listę innych klientów (w tym pracujących jako trackery) i jeśli dodasz nowy magnet link, ponawia wymianę skrótów (i w miarę potrzeby list klientów). Oczywiście to jest uproszczenie, więc coś tam mogłem pominąć lub przekręcić. -- Andrzej P. Woźniak uszer@pochta.onet.pl (zamień miejscami z<->h w adresie) |
|
Data: 2018-11-03 23:42:29 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-11-03, Roman Tyczka <noemail@because.no> wrote:
On Sat, 03 Nov 2018 02:57:52 GMT, Marcin Debowski wrote: O torrentach nie mam pojęcia, ale widzę, że się dyskusja w innym podwątku już rozwinęła. Niestety, chyba nie ma innego sposobu. Po prostu trzeba jakoś tę informację o portach przekazać. Nawet jak te peery zadzwonią do siebie telefonem to cały czas będzie to wymieniony przypadek użycia alretnatywnej usługi :) -- Marcin |
|
Data: 2018-11-03 13:32:14 | |
Autor: m | |
opoznienia na switchu | |
W dniu 03.11.2018 o 03:57, Marcin Debowski pisze:
On 2018-11-03, m <mvoicem@gmail.com> wrote: Wydawało mi się że nie trzeba. Tj sądziłem zawsze że jeżeli to third party odbiera połączenie, to wie z którego portu to połaczenie jest wykonywane. Pakiety które idą potem na ten sam port, trafiają na port wyjściowy kompa za NATem. p. m. |
|
Data: 2018-11-03 12:58:13 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Sat, 03 Nov 2018 13:32:14 +0100, m wrote:
Wydawało mi się że nie trzeba. Tj sądziłem zawsze że jeżeli to third To się oczywiście zgadza. Pakiety które idą potem na ten sam port, trafiają na port Tablica sesji NAT to nie tylko relacja "port zewnętrzny = klient w środku". To zestaw kilku informacji: port po translacji + adres IP po translacji + zdalny host + zdalny port + interfejs wyjściowy routera. Zatem to co piszesz jest prawdą, ale tylko i wyłącznie w kontekście połączenia/sesji między "kompem za NATem" a serwerem "third-party". Nikt inny z zewnątrz nie "wstrzeli się" w tą samą sesję. W praktyce pojedynczy wpis tablicy sesji wygląda tak (przykład na FreeBSD, zależnie od implementacji routera może być wyświetlony nieco inaczej): em0 tcp 85.86.45.1:54887 (192.168.0.8:56309) -> 80.88.105.69:80 Powyższe, w luźnym tłumaczeniu brzmi "host 192.168.0.8 użył swojego portu 56309 by nawiązać połączenie z 80.88.105.69 na porcie 80, po NAT podmieniłem adres prywatny na mój własny 85.86.45.1 i zmieniłem port na 54887, następnie wypuściłem pakiet interfejsem em0". W drodze powrotnej, tylko i wyłącznie pakiety odpowiadające temu wzorcowi trafią do 192.168.0.8 (czyli pakiety pochodzące od 80.88.105.69 z portu 80, zaadresowane do 85.86.45.1 na port 54887 i pojawiające się na interfejsie em0 routera). Mateusz |
|
Data: 2018-11-03 08:19:53 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Sat, 03 Nov 2018 03:05:22 +0100, m wrote:
Tylko w zakresie poznania portu na który peery mają do siebie gadać. W dużym uproszczeniu to aby peery mogły do siebie rozmawiać, to muszą mieć wyprowadzony choć jeden port na zewnątrz. Znaczy jesteś podwójnie poza tematem, bo miało być a) bez udziału osoby trzeciej i b) z całkowitym NATem po obu stronach :) Mateusz |
|
Data: 2018-11-03 13:39:45 | |
Autor: m | |
opoznienia na switchu | |
W dniu 03.11.2018 o 09:19, Mateusz Viste pisze:
On Sat, 03 Nov 2018 03:05:22 +0100, m wrote: Może znadinterpretowałem. Zrozumiałem osobę trzecią jako proxy/relay. Coś co przez siebie przepuszcza cały ruch. W takim przypadku rzeczywiście, bez udziału osoby trzeciej się nie da. i b) z całkowitym NATem po obu stronach :) Jestem przekonany, że jeżeli osoba trzecia tylko wskaże peerom na jakie adresy/porty mają ze sobą gadać, da się to zrobić z całkowitym NATem po obu stronach bez skanowania wszystkich portów NATa. p. m. |
|
Data: 2018-11-03 13:00:52 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Sat, 03 Nov 2018 13:39:45 +0100, m wrote:
Jestem przekonany, że jeżeli osoba trzecia tylko wskaże peerom na jakie W świecie IT przekonania to za mało. Patrz odpowiedź którą wysłałem kilkanaście sekund temu w innej odnodze wątku. Jeśli nie wierzysz, zalecam wykonanie testu samemu, empiryzm najlepszą drogą do wiedzy. Mateusz |
|
Data: 2018-11-04 23:23:29 | |
Autor: PawelS pawel(at)wbcd(dot)pl | |
opoznienia na switchu | |
Mateusz Viste pisze:
On Fri, 02 Nov 2018 10:59:01 +0100, Roman Tyczka wrote:Nie zawsze jest to prawdą. To zależy od rodzaju użytego Routera. Być może tak jak to napisałeś poniżej FreeBSD zmieni port źródłowy połączenia. W praktyce pojedynczy wpis tablicy sesji wygląda tak (przykład na FreeBSD, zależnie od implementacji routera może być wyświetlony nieco inaczej):Sprawdź jak to wygląda w przypadku kiedy Routerem jest Linux. W kliencie HTTP przed nawiązaniem połączenia ustawiłem bind do lokalnego portu, następie pobrałem stronę, która wyświetla informacje o połączeniu (m.in. adres IP, port), adres IP oczywiście był adresem NAT, ale port źródłowy się nie zmienił. Gdyby były dwa równoległe połączenia z tego samego portu źródłowego, to dla drugiego połączenia port źródłowy faktycznie ulega już modyfikacji. |
|
Data: 2018-11-05 07:42:00 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Sun, 04 Nov 2018 23:23:29 +0100, PawelS pawel(at)wbcd(dot)pl wrote:
Sprawdź jak to wygląda w przypadku kiedy Routerem jest Linux. Niektóre implementacje mogą próbować portu nie zmieniać, zgadza się. To pomaga m.in. przy RDP w ramach SIP. Ale to bardzo ograniczona zdolność, i tak czy inaczej nie pozwalająca wbić się zewnętrznej osobie trzeciej na ten sam port by trafić do hosta w LANie (któryś z kolegów to wcześniej sugerował). Gdyby były dwa równoległe połączenia Otóż to. Mateusz |
|
Data: 2018-11-06 18:10:53 | |
Autor: PawelS pawel(at)wbcd(dot)pl | |
opoznienia na switchu | |
Mateusz Viste pisze:
On Sun, 04 Nov 2018 23:23:29 +0100, PawelS pawel(at)wbcd(dot)pl wrote:Oczywiście mowa tutaj NAT (SNAT/MASQUERADE). Tak czy inaczej w przypadku gdy dwa hosty znajdują się za NAT, to nawet jeśli obydwa hosty nawiążą połączenie TCP z serwerem osiągalnych dla obydwu hostów znajdujących się za NAT nawet jak poznają swoje adresy IP+PORT za NAT w dalszym ciągu nie będą w stanie ze sobą wymieniać bezpośrednio pakietów. Żaden firewall/router/NAT nie wyśle do hosta dla którego robi NAT pakietu pochodzącego z "zewnątrz" nie będącego pakietem związanym z połączeniem wychodzących z sieci lokalnej (oczywiście przy braku translacji w drugą stronę DNAT). Tak jak sam napisałeś: Nikt inny z zewnątrz nie "wstrzeli się" w tą samą sesję. Poza tym poniższy scenariusz też nie powinien zadziałać: W takiej sytuacji Grześ może tylko próbować wysyłać tysiące pakietów do Krzysia, z losowymi portami src licząc, że RouterG w którymś momencie podmieni port src na akurat ten wybrany przez RouterK. Słowem całkowita loteria. Dla zwiększenia szans powodzenia, Krzyś może rozpocząć kilkanaście sesji UDP z różnymi portami src, coby Krzysiowi było łatwiej trafić.gdyż jak sam napisałeś: Tablica sesji NAT to nie tylko relacja "port zewnętrzny = klient w środku". To zestaw kilku informacji: port po translacji + adres IP po translacji + zdalny host + zdalny port + interfejs wyjściowy routera.czyli, aby wysłać odebrany pakiet z "zewnątrz" i przesłać do host za NAT, dane połączenie musi zostać odnalezione w tablicy sesji NAT, w przeciwnym razie translacja odwrotna nie będzie możliwa, czyli powyższe próby "Grzesia" zakończą się odrzucaniem pakietów oraz ewentualnym logowaniem pakietów, a takie wysyłanie pakietów może zostać odebrane jak skan portów i również zablokowane. From: Mateusz Viste <mateusz@nie.pamietam>Może pomóc przypomnieć ? ;) |
|
Data: 2018-11-06 17:47:34 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Tue, 06 Nov 2018 18:10:53 +0100, PawelS pawel(at)wbcd(dot)pl wrote:
czyli, aby wysłać odebrany pakiet z "zewnątrz" i przesłać do host za Ja być może niejasno napisałem, dlatego sprostuję: moja teoria wymaga naturalnie by Krzyś wykonał kilka/kilkanaście (im więcej tym lepiej) prób w kierunku Grzesia. W ten sposób Grześ ma jakąś tam szansę wpaść na poprawną parę portów. Jeśli tylko jedna ze stron będzie kombinować, to oczywiście szanse na powodzenie są żadne. Mateusz |
|
Data: 2018-11-08 18:52:44 | |
Autor: PawelS pawel(at)wbcd(dot)pl | |
opoznienia na switchu | |
Mateusz Viste pisze:
On Tue, 06 Nov 2018 18:10:53 +0100, PawelS pawel(at)wbcd(dot)pl wrote: Wręcz przeciwnie napisałeś wszystko jasno: [ User:LAN:IP:PORT ] NAT:IP:PORT ===> Remote:Port [ Joe:10.0.1.1:1234 ] 30.0.3.3:3456 ===> 20.0.2.2:2345 [ Bob:10.0.4.4:1234 ] 40.0.4.4:4567 ===> 20.0.2.2 Ten wątek wydaje mi się ciekawszy, więc zacytuję artykuł od Romana: Introducing the Introducer Hey! Joe just sent a packet straight to Bob! Bob does the same thing going the other way. Suddenly, with a little help Stąd wniosek, że NAT zapamiętuje tylko parę LAN:IP:PORT + NAT:IP:PORT czy teoretycznie jak pojawi się trzeci użytkownik Ola [ Ola:10.0.5.5 ] 50.0.5.5:7788 ===> Anywhere, to Ola może również nawiązać połączenie z Joe lub Bob. Trochę mi to psuje moje zrozumienie jak działa NAT i jego tablica stanów połączeń, według to której powyższy przypadek nie powinien zadziałać. |
|
Data: 2018-11-08 18:24:53 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Thu, 08 Nov 2018 18:52:44 +0100, PawelS pawel(at)wbcd(dot)pl wrote:
Stąd wniosek, że NAT zapamiętuje tylko parę LAN:IP:PORT + NAT:IP:PORT Implementacji NATu (jak i innych rzeczy) jest mnóstwo. Niewykluczone, że któraś tak się zachowuje. Świat IT to dżungla. Mateusz |
|
Data: 2018-11-08 21:00:38 | |
Autor: Roman Tyczka | |
opoznienia na switchu | |
On 08 Nov 2018 18:24:53 GMT, Mateusz Viste wrote:
Stąd wniosek, że NAT zapamiętuje tylko parę LAN:IP:PORT + NAT:IP:PORT Powiem tylko tyle, że za pomocą TeamViewera i będąc za NATem łączyłem się z wieloma różnymi komputerami z odległych sieci, też będących za NATem. Czyli to _chyba_ jednak działa. I jak sądzę, obraz nie jest transmitowany przez serwery TV. https://security.stackexchange.com/questions/14280/how-does-team-viewer-establish-a-remote-desktop-connection -- pozdrawiam Roman Tyczka |
|
Data: 2018-11-09 00:06:29 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-11-08, Roman Tyczka <noemail@because.no> wrote:
On 08 Nov 2018 18:24:53 GMT, Mateusz Viste wrote: To będę się musiał doszkolić. Tyle tylko, że to udp punching wyglada mi z lekka dziwnie, bo np. ten cały TeamViewer ma w swoich FAQ'ach długi elaborat o tym jakie porty otwierac, wykorzystywac, etc. a i zdaje się nie zawsze ten punching działa (zalezy jak NAT jest ustawiony, resttrictive etc.). W sumie tak ździebko to wszystko wygląda na coś wątpliwego co jest stosowane jak juz inaczej sie nie da. -- Marcin |
|
Data: 2018-11-09 07:59:54 | |
Autor: Mateusz Viste | |
opoznienia na switchu | |
On Thu, 08 Nov 2018 21:00:38 +0100, Roman Tyczka wrote:
On 08 Nov 2018 18:24:53 GMT, Mateusz Viste wrote: Działa na zasadzie Krzyś i Grześ zalewają się wzajemnie pakietami UDP, aż któryś trafi w oczko. Pisałem o tym wcześniej. Jednak z tego co się orientuję, to w 99% przypadków ruch TV odbija się jednak od ich serwerów (przynajmniej tak było kilka lat temu), a wtedy NAT nie ma znaczenia i żadnego cudowania nie potrzeba. Mateusz |
|
Data: 2018-11-09 11:16:21 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-11-09, Mateusz Viste <mateusz@nie.pamietam> wrote:
On Thu, 08 Nov 2018 21:00:38 +0100, Roman Tyczka wrote: Dla mnie to rewelacja, że ktos coś takiego w ogóle stosuje i druga, że większość FW na to pozwala. -- Marcin |
|
Data: 2018-11-09 20:32:11 | |
Autor: PawelS pawel(at)wbcd(dot)pl | |
opoznienia na switchu | |
Marcin Debowski pisze:
On 2018-11-09, Mateusz Viste <mateusz@nie.pamietam> wrote[...] OK, w przypadku UDP to każda aplikacja, która zrobić socket() i bind()Działa na zasadzie Krzyś i Grześ zalewają się wzajemnie pakietami UDP, aż któryś trafi w oczko. Pisałem o tym wcześniej. Jednak z tego co się orientuję, to w 99% przypadków ruch TV odbija się jednak od ich serwerów (przynajmniej tak było kilka lat temu), a wtedy NAT nie ma znaczenia i żadnego cudowania nie potrzeba. będzie w stanie odbierać pakiety z dowolnego źródła. W przypadku TCP jak sam wcześniej napisałeś: Nikt inny z zewnątrz nie "wstrzeli się" w tą samą sesję.Czyli FW/NAT musiałby przepuścić pakiet SYN do hosta za NAT, wtedy host znajdujący się za NAT mógłby zaakceptować połączenie. Dla mnie to rewelacja, że ktos coś takiego w ogóle stosuje i druga, że większość FW na to pozwala.Czy ta większość obejmuje również router z OS Linux ? I czy ewentualnie regułami iptables można tutaj coś popsuć ? W sensie poprawić bezpieczeństwo sieci za NAT. |
|
Data: 2018-11-09 23:09:41 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-11-09, PawelS pawel(at)wbcd(dot)pl <fake@email.org> wrote:
Marcin Debowski pisze: Nie wiem. Część tego co znalazłem sugeruje, że np. niektóre routery blokują, ale tak jak googlam dla Linuksa to nie widzę nic konkretnego. U mnie jest w ogóle taka struktura, że mam potrójny NAT z jakimś dziwadłem od DLinka od kablówki na WANie a dalej Mikrotik i Linux też z NATem. Przyjmując ze Skype i parę innych komunikatorów, tudzież SIPowy voip to stosuja, to najwyraźniej wszystkie 3 NATy są na to podatne. -- Marcin |
|
Data: 2018-11-06 21:17:53 | |
Autor: Roman Tyczka | |
opoznienia na switchu | |
On Tue, 06 Nov 2018 18:10:53 +0100, PawelS pawel(at)wbcd(dot)pl wrote:
Oczywiście mowa tutaj NAT (SNAT/MASQUERADE).Sprawdź jak to wygląda w przypadku kiedy Routerem jest Linux. I chyba znalazłem ten dokument, który o tym kiedyś czytałem z masą linków dodatkowych. http://www.mindcontrol.org/~hplus/nat-punch.html Trochę on przeczy stwierdzeniom, że się nie da ;-) Oczywiście na start potrzebny jest serwer, żeby zestawić połączenie, ale już sam transfer go nie wymaga. Co Wy na to? -- pozdrawiam Roman Tyczka |
|
Data: 2018-11-03 00:12:35 | |
Autor: Marcin Debowski | |
opoznienia na switchu | |
On 2018-11-02, Roman Tyczka <noemail@because.no> wrote:
Rzeczywiście za mało precyzyjnie napisałem. Używając określenia P2P miałem One robią zdaje się z wykorzystanie "strony trzeciej", czyli tu operatora, np. Skype. Jedyne co mi przychodzi do głowy na pośrednie ominięcie NATu to np. tunel po ssh. Pośrednie, bo samo połączenie ssh musi iść z udziałem NAT tak czy inaczej. -- Marcin |