Jak sprawdzić IP?

Ten wpis to takie małe HOWTO i przegląd zagadnienia dla mniej zaawansowanych. Zagadnienie ogólne to jak sprawdzić IP? Można to rozumieć przynajmniej na dwa sposoby. Pierwszy to z jakim IP jesteśmy widoczni w sieci, drugi to jakie IP ma ustawiony mój komputer.

Sprawdzenie IP widocznego w Internecie

Generalnie, jeśli po drodze nie ma jakiejś zaawansowanej magii typu serwer proxy czy kreatywne przekierowania lub równie kreatywny routing, to do wszystkich serwisów w Internecie łączymy się z takiego samego IP. Z jakiego? Najprościej sprawdzić w logach dowolnego serwera, jeśli taki posiadamy. Jeśli nie, wystarczy skorzystać z którejś ze stron do sprawdzania IP:

Ostatnia ze stron umożliwia również sprawdzanie w sposób automatyczny, przyjazny programistom raz na 5 minut (szczegóły w FAQ na stronie).

Spawdzanie swojego IP pod Linuksem

Konfiguracja sieci w Debianie i Ubuntu znajduje się w /etc/network/interfaces, ale niekoniecznie znajdziemy tam nasz adres IP, szczególnie, jeśli jest on pobierany z serwera DHCP. Bieżącą, działąjącą konfigurację sieci z przydzielonymi adresami pozwoli nam za to zobaczyć polecenie ifconfig (w Debinanie przez zwykłego użytkownika należy wywołać z pełną ścieżką, czyli /sbin/ifconfig). Inna metoda, o ile mamy zainstalowany pakiet iproute, to wpisanie ip address. Albo, krócej ip a.

Sprawdzanie IP komputera pod Windows

Metoda najdoskonalsza, czy w wierszu poleceń. Wybieramy Start -> Uruchom wpisujemy cmd i naciskamy klawisz Enter. Pojawi się czarne okno w którym możemy pisać. Wpisujemy ipconfig i naciskamy enter. Jeśli chcemy więcej danych, wpisujemy ipconfig /all (znowu zatwierdzając enterem). Dla porządku jeszcze niezawodne polecenie diagnozujące sieć opartą o DHCP – ipconfig /renew. Na pewno działa pod Windows 2000, Windows XP, Vistą i zapewne pod Windows 7 (tego ostatniego nie sprawdzałem).

Sprawdzanie IP dla macos

Jak sprawdzić IP komputera z firmy Apple? W przypadku macos jest podobnie jak dla Linuksa. W terminalu wpisujemy ifconfig i gotowe.

Sprawdzanie działania IPv6

Trzy strony pozwalające na sprawdzanie, czy nasz komputer obsługuje łączność, albo inaczej czy działa IPv6. Każda ma swoje wady i zalety i sprawdza trochę co innego.

Działanie IPv6 można też sprawdzić poprzez ping ipv6.google.com.

Walka z Tor – blokowanie i atak.

Każdy medal ma dwie strony. To, że popieram prawo do anonimowości i wolności wypowiedzi nie znaczy, że nie rozumiem osób, które z różnych względów chciałyby ograniczyć dostępu do swojej sieci czy swojego serwisu użytkownikom sieci Tor. Poza tym, w znacznej mierze bawię się Torem, żeby lepiej poznać z czym wiążą się różne, zwłaszcza administracyjne aspekty sieci na sieci.

Sieć Tor z założenia ma sprzyjać anonimowości i omijaniu cenzury, a jak to wygląda w praktyce? Moim zdaniem, ma wiele słabości, chwilami sprawia po prostu broken by design. Ostatnio słychać było, o skompromitowaniu sieci Tor. Na blogu projektu Tor pojawiło się sprostowanie, wytykające błędy ale nie znaczy to, że różne słabości zupełnie nie istnieją.

Podstawową, znaną i opisaną w FAQ, słabością projektu, wynikającą z założeń projektowych jest, moim zdaniem, fakt, że publicznie dostępna, a przynajmniej trywialna do uzyskania jest lista wszystkich węzłów wyjściowych (exit node) i pośredniczących (relay node) Tora. Znacznie trudniej uzyskać listę bridge nodes, czyli węzłów służących wyłącznie do przyjęcia pierwszego połączenia od użytkownika, ale nie jest ona tak naprawdę potrzebna, by któryś duży gracz przeciwko Torowi mógł zaszkodzić sieci.

Niejawność bridge nodes wynikała z założeń projektu i z założenia miała służyć do tego, aby żaden ISP/kraj nie mógł w prosty sposób pozbawić swoich użytkowników możliwości połączenia z siecią Tor. I to zadanie spełnia przyzwoicie. Użytkownicy nadal mają możliwość uzyskania częściowych danych o bridge nodes z listy i podania ich ręcznie w swoim kliencie Tor, co w połączeniu ze zmiennymi IP bridge nodes bardzo utrudnia (o ile nie eliminuje) możliwości całkowitego zablokowania łączności z siecią Tor. Przynajmniej zablokowania opartego tylko o blokadę IP, nie analizę ruchu, ale to jakby zupełnie inny temat i skala trudności.

Natomiast mając listę węzłów końcowych, można je zablokować na wejściu do sieci czy dostępie do serwisu. Istnieją nawet serwisy, które zapewniają – mniej lub bardziej aktualne – gotowce. Ten serwis na przykład udostępnia aktualizowaną co godzinę blacklistę opartą na DNS z podziałem na węzły wychodzące i zwykłe.

Ale nie jest to jedyna metoda walki serwisów czy ISP z Torem. W praktyce mało kto, przynajmniej w naszym kraju, udostępnia węzeł wychodzący. Przyczyna jest prosta – dość szybko może skończyć się to (i kończy, nie mówię z własnego doświadczenia, ale słyszałem z pierwszej ręki o takich przypadkach) wizytą policji z powodu nadużyć z danego IP. Węzeł pośredniczący, o ile nie ma uruchomionej tzw. ukrytej usługi (hidden service) nie przechowuje ani nie udostępnia żadnych danych, więc jego uruchomienie w domu nie pociąga za sobą żadnych problemów (poza zużyciem części pasma).

Przynajmniej teoretycznie. W praktyce bowiem serwery serwisów nie lubiących Tora mogą sprawdzać nie tylko, czy użytkownik nie łączy się z IP na którym uruchomiony jest węzeł wychodzący, ale także czy połączenie nie jest z IP na którym uruchomiony jest węzeł pośredniczący i… także odmawiać dostępu. Przykładem jest choćby powyższy serwis z listami. Łącząc się z IP, na którym uruchomiony jest relay node zobaczymy:

Forbidden – TOR Node / Anonymous Proxy I’m sorry, but I really don’t see why anyone would need to use a TOR node or Anonymous Proxy server to look at my site. So i’m afraid you can’t look. Stop running TOR / using an anonymous proxy and you can view my site.

Przy względnie częstej aktualizacji listy węzłów (choćby wspomniana godzina), rozwiązanie takie praktycznie nie generuje skutków ubocznych dla serwisu, który ją wykorzystuje i minimalizuje ryzyko false positives, nawet przy zmiennym IP węzłów. Zakładając oczywiście, że lista jest prawidłowa i kompletna.

Zresztą, sami twórcy projektu Tor dają o to, żeby administratorzy którzy muszą blokować węzły wyjściowe Tora, mogli robić to w prosty sposób. Banowanie użytkowników sieci Tor także ma swój wpis w FAQ. Uprzykrzanie życia właścicielom relay nodes to już raczej otwarta wojna, której chcą uniknąć.

Skoro o otwartej wojnie mowa, gdyby jakieś państwo chciało unieruchomić sieć Tor, to obok blokowania bridge nodes może sięgnąć po (D)DoS (w sumie wystarczy zwykły flood) na – niekoniecznie szybkie – węzły pośredniczące. Węzły wyjściowe często są na dedykowanych maszynach i łączach, pośredniczące (tylko pośredniczące, każdy wyjściowy jest jednocześnie pośredniczącym) – niekoniecznie. Zresztą ponownie – istnieje strona podająca status sieci Tor, a na niej szczegółowe informacje o węzłach – rola, tzw. flagi, system, ilość przesyłanego ruchu… Zapewne można na jej podstawie szacować, jakie zasoby potrzebne są do przeprowadzenia ataku.

Przy okazji takie spostrzeżenie – ludzie z projektu Tor naprawdę wydają się skupieni na etyczny zastosowaniach i zapewnieniu anonimowości i wolności ludziom, którzy naprawdę tego potrzebują. I mocno liczą, że administratorzy serwisów to zrozumieją i nie będą w Torze widzieć wyłącznie narzędzia abuserów. W ciągu kilkudziesięciominutowej rozmowy, która się wywiązała na IRC przy okazji wspomnienia na temat tworzenia tego wpisu zostałem odesłany do paru prac naukowych (nie czytałem jeszcze, bo niezupełnie ten temat, podlinkowane poniżej). Atak totalny na tak szczytne przedsięwzięcie chyba nie bardzo mieści im się w głowie, natomiast zaprzątnięci są zapewnieniem anonimowości użytkownikom i pracują nad ulepszeniem możliwości łatwego i pewnego rozdzielenia węzłów wyjściowych od pośredniczących dla tych, którzy muszą blokować dostęp z sieci Tor.

Stąd moje wrażenie o broken by design może być przesadzone lub zwyczajnie mylne – zwyczajnie nie do tego i nie przy takich zastosowaniach było to projektowane… Generalnie Tor ma warstwy – z pozoru wygląda na bardzo prosty twór, ale im dalej się wgłębiać, tym ciekawsze nowe rzeczy się pojawiają. Przyznam, że sam nie grokuję Tora w pełni, stąd ten wpis, będący poniekąd próbą uporządkowania paru faktów.

Linki (które kiedyś mam nadzieję przeczytam, niekoniecznie o Torze):

Informatyka a oszustwa wyborcze.

Wpis odnośnie oszustwa w wyborach porusza ciekawe kwestie. Co prawda całość jest typu tl;dr, momentami autor nieźle odrywa się od rzeczywistości, teza wybory były sfałszowane i trzeba je powtórzyć jest totalnie niedorzeczna i całość mocno śmierdzi spiskową teorią dziejów, ale podstawowe spostrzeżenie jest celne: coraz większa część obliczeń – także tych wyborczych – realizowana jest na systemach komputerowych, a regulacji prawnych w tym zakresie nie ma.

Mamy więc – jak autor trafnie spostrzega – sytuację, gdzie urna w Pcimiu Dolnym jest nadzorowana w sposób przezroczysty dla wszystkich, stosunkowo łatwo weryfikowalny i dokładnie opisany przepisami prawa, ale przesyłanie i obliczanie danych z wszystkich komisji odbywa się w sposób pozwalający – przy odrobinie złej woli – na manipulację wynikami. I to manipulacje, które nie będą proste do wykrycia. A przecież zdobycie władzy, niekoniecznie w uczciwy sposób, zawsze jest i będzie kuszące.

Po pierwsze, do przekłamania może dojść przez przejęcie kontroli nad systemami, z których wprowadzane są dane. Trudno wykonalne (wiele systemów), łatwo wykrywalne. Po drugie, dane mogą być zamienione podczas transmisji. Wierzę, że wysyłane są połączeniem szyfrowanym i z użyciem algorytmów nie pozwalających na prostą podmianę. Czyli ten sposoby ataku raczej odpadają. Zostaje trzeci, czyli atak na centralne miejsce, które dokonuje obliczeń.

I tu nic nie da obecność członka komisji w serwerowni. OK, wyeliminuje to przepięcie kabelków, wyjęcie dysków (WTF?) i inne fizyczne ingerencje, ale nadal nie zapobiegnie podmianie danych na maszynie czy to na skutek zmian w programie (na różnych etapach – od tworzenia do kompilacji), czy na skutek modyfikacji danych w bazie, czy na zmodyfikowanie działania systemu na niższym poziomie.

W przeciwieństwie do autora, nie uważam, że konieczne jest odejście od obecnego, tradycyjnego systemu głosowania. Przede wszystkim dlatego, że głosowanie elektroniczne – choć możliwe, że tańsze – nigdy nie będzie tak przezroczyste dla laików komputerowych, jak tradycyjne. Będą też problemy z zachowaniem anonimowości głosów, jeśli głosy mają być bezpieczne. No i będzie trudno o łatwo weryfikowalne dowody, jeśli będziemy chcieli sprawdzić coś po głosowaniu.

Natomiast w obecnym systemie łatwo można – przy minimum nakładu pracy ze strony społeczeństwa – zapewnić kontrolę nad brakiem przekłamań. Dane z poszczególnych komisji są publikowane na stronach PKW. Każdy więc może samodzielnie zweryfikować, czy sumowanie jest dokonane prawidłowo (czy to ręcznie, czy w wybranym, choćby opensource’owym arkuszu kalkulacyjnym). To wyklucza podmiany wyników działania programu w centralnym miejscu.

Jeśli chodzi o przekłamania w transmisji czy podczas wprowadzania, również łatwo można to zweryfikować. Wystarczy się przejść do komisji dzień po wyborach. Wywieszane są ręcznie pisane protokoły. Wystarczy porównać dane ze strony PKW z danymi z protokołu. Jeśli się zgadzają – do oszustwa nie doszło, przynajmniej nie do oszustwa w systemie informatycznym i przy przesyłaniu danych. Przy powtórzeniu sprawdzenia dla wszystkich komisji (to wymaga współpracy społeczeństwa, pojedyncza osoba jest w stanie sprawdzić góra kilka-kilkanaście komisji) i nie znalezieniu rozbieżności mamy pewność, że wybory nie są sfałszowane.

A czy wy sprawdzacie pracę swojej komisji wyborczej?