TCPing to narzędzie diagnostyczne służące do testowania dostępności portów TCP na zdalnych serwerach. W przeciwieństwie do tradycyjnego polecenia ping, które wykorzystuje protokół ICMP, TCPing nawiązuje rzeczywiste połączenia TCP, co czyni go niezwykle użytecznym w środowiskach, gdzie ICMP jest blokowany przez zapory sieciowe.

Dlaczego TCPing jest przydatny?

Główne zalety:

  • Testowanie konkretnych portów - możliwość sprawdzenia dostępności określonych usług (HTTP, HTTPS, FTP, SSH)
  • Omijanie blokad ICMP - działa tam, gdzie tradycyjny ping jest zablokowany
  • Diagnostyka aplikacji - pozwala zidentyfikować problemy z konkretnymi usługami
  • Pomiar opóźnień - mierzy czas odpowiedzi połączeń TCP
  • Monitorowanie dostępności - idealne do ciągłego monitoringu usług sieciowych

Podstawowe użycie TCPing

Składnia polecenia

tcping <hostname/ip> <port>

Przykłady użycia

Test połączenia z serwerem WWW:

tcping google.com 80

Test połączenia HTTPS:

tcping example.com 443

Test z limitem prób:

tcping -c 10 example.com 80

Test z określonym interwałem (co 2 sekundy):

tcping -i 2 example.com 443

Test z timeoutem (5 sekund):

tcping -t 5 example.com 3306

Test z wyświetlaniem znaczników czasu:

tcping -D example.com 443

Najczęstsze zastosowania

Diagnostyka serwerów WWW

Sprawdzenie, czy serwer WWW odpowiada na porcie 80 lub 443:

tcping mojadomena.pl 443

Testowanie baz danych

Weryfikacja dostępności serwera MySQL z limitem 20 prób:

tcping -c 20 192.168.1.100 3306

Sprawdzanie SSH

Test dostępności serwera SSH z 3-sekundowym timeoutem:

tcping -t 3 serwer.example.com 22

Monitorowanie usług

Ciągłe monitorowanie dostępności usługi co 5 sekund:

tcping -i 5 example.com 8080

Zapis wyników do pliku CSV

Monitorowanie z zapisem do pliku CSV:

tcping --csv wyniki.csv -c 100 example.com 443

Interpretacja wyników

Przykładowy wynik:

Probing 93.184.216.34:80/tcp - Port is open - time=15.234ms
Probing 93.184.216.34:80/tcp - Port is open - time=14.892ms
Probing 93.184.216.34:80/tcp - Port is open - time=15.103ms

Co oznaczają wyniki:

  • Port is open - port jest otwarty i usługa odpowiada
  • Port is closed - port jest zamknięty
  • Connection timed out - brak odpowiedzi (może być blokowany przez firewall)
  • time=X ms - czas odpowiedzi w milisekundach

Porównanie TCPing vs Ping

Cecha Ping (ICMP) TCPing
Protokół ICMP TCP
Test konkretnych portów Nie Tak
Działa przez firewall Często blokowany Zazwyczaj tak
Test usług aplikacyjnych Nie Tak
Szybkość Szybszy Nieco wolniejszy

Wszystkie dostępne opcje

  • -4 - wymuszenie użycia tylko IPv4
  • -6 - wymuszenie użycia tylko IPv6
  • -D - wyświetlanie znaczników czasu w wynikach
  • -I - określenie interfejsu sieciowego lub adresu
  • -c - zatrzymanie po określonej liczbie prób (np. -c 100)
  • --csv - zapis wyników do pliku CSV
  • --db - zapis wyników do bazy danych SQLite
  • -h - wyświetlenie pomocy
  • -i - interwał między próbami w sekundach (np. -i 2.5)
  • -j - format wyjścia JSON
  • --no-color - wyłączenie kolorowania wyników
  • --pretty - wcięcia w formacie JSON (wymaga -j)
  • -r - ponowne rozwiązywanie nazwy hosta po określonej liczbie nieudanych prób
  • --show-failures-only - pokazywanie tylko nieudanych prób
  • --show-source-address - pokazywanie adresu i portu źródłowego
  • -t - timeout oczekiwania na odpowiedź w sekundach (0 = nieskończony)
  • -u - sprawdzenie aktualizacji
  • -v - wyświetlenie wersji

Przykłady zaawansowanego użycia

Monitorowanie z zapisem do CSV

tcping --csv monitoring.csv -i 5 -c 1000 example.com 443

To polecenie wykona 1000 prób połączenia z portem 443, co 5 sekund, zapisując wyniki do pliku CSV.

Test z wyświetlaniem tylko błędów

tcping --show-failures-only -c 100 example.com 80

Przydatne do szybkiego wykrycia problemów z połączeniem.

Wyjście w formacie JSON

tcping -j --pretty -c 10 example.com 443

Idealne do integracji z innymi narzędziami i skryptami.

Test z wymuszeniem IPv4 i timestampem

tcping -4 -D -i 1 example.com 443

Monitorowanie z automatycznym odświeżaniem DNS

tcping -r 10 -i 2 example.com 443

Ponownie rozwiązuje nazwę hosta po każdych 10 nieudanych próbach.

Praktyczne scenariusze użycia

Sprawdzanie dostępności serwera WWW

tcping -c 50 -i 1 mojstrona.pl 443

Diagnostyka problemów z bazą danych

tcping -t 10 -c 20 db.example.com 5432

Monitorowanie usługi przez 24 godziny

tcping --csv raport_24h.csv -i 60 -c 1440 api.example.com 8080

Test z różnych interfejsów sieciowych

tcping -I 192.168.1.100 example.com 443

Alternatywy dla TCPing

  • telnet - podstawowe narzędzie do testowania portów
  • nc (netcat) - wszechstronne narzędzie sieciowe
  • nmap - zaawansowany skaner portów
  • hping3 - zaawansowane narzędzie do testowania pakietów
  • psping (Windows) - narzędzie Microsoft Sysinternals

Rozwiązywanie problemów

TCPing nie działa

  1. Sprawdź, czy plik tcping.exe jest w PATH
  2. Upewnij się, że masz uprawnienia do wykonywania połączeń sieciowych
  3. Sprawdź, czy firewall nie blokuje połączeń wychodzących

Timeout przy każdej próbie

  • Serwer może być niedostępny
  • Firewall blokuje połączenia na tym porcie
  • Nieprawidłowy adres IP lub nazwa hosta
  • Port jest zamknięty

Wolne odpowiedzi

  • Problem z siecią
  • Przeciążony serwer
  • Problemy z DNS (użyj -r do ponownego rozwiązywania)

Podsumowanie

TCPing to nieocenione narzędzie dla administratorów systemów i sieci, deweloperów oraz wszystkich zajmujących się diagnostyką połączeń sieciowych. Jego prostota użycia w połączeniu z efektywnością czyni go must-have w zestawie narzędzi każdego specjalisty IT.

Dzięki możliwości testowania konkretnych portów TCP, TCPing wypełnia lukę pozostawioną przez tradycyjne polecenie ping i pozwala na precyzyjną diagnostykę usług sieciowych. Opcje takie jak zapis do CSV, format JSON czy wyświetlanie tylko błędów sprawiają, że narzędzie to jest niezwykle elastyczne i przydatne w różnych scenariuszach.

Jeśli potrzebujesz wsparcia w diagnostyce problemów sieciowych albo monitoringu infrastruktury, skontaktuj się z nami.

Przydatne linki