Jakie są różnice między ncat, nc i netcat?

20

Nie jestem pewien kiedy użyć nc, netcatlub ncat. Jeśli jedna jest przestarzałą wersją innej? Jeśli jest dostępny tylko w jednej dystrybucji? Jeśli jest to to samo polecenie, ale o różnych nazwach?

W rzeczywistości jestem trochę zdezorientowany. Moje pytanie wynika z chęci przeprowadzenia testu prędkości sieci między dwoma serwerami CentOS 7. Natknąłem się na kilka przykładów za pomocą nci, ddale niewiele za pomocą netcatlub ncat.

Czy ktoś mógłby mi to wyjaśnić?

Pozinux
źródło

Odpowiedzi:

23

nci netcatsą to dwie nazwy tego samego programu (zazwyczaj jedno będzie dowiązaniem symbolicznym do drugiego). Chociaż - dla dużego zamieszania - istnieją dwie różne implementacje Netcat („tradycyjny” i „OpenBSD”), i mają różne opcje i mają różne funkcje.

Ncat to ten sam pomysł, ale z projektu Nmap. Jest też socatpodobny pomysł. Istnieje również /dev/tcp(opcjonalna) funkcja Bash.

Jeśli jednak chcesz wykonać testy prędkości sieci, wszystkie powyższe odpowiedzi są złą odpowiedzią. Szukasz iperf3 ( strona 1 lub strona 2 lub kod ).

derobert
źródło
Czy masz na myśli, że testowanie (szybki test) prędkości sieci przy użyciu dd i nc nie jest niezawodne?
Pozinux
3
@Pozinux dd / nc powinien dać ci średnią przepustowość, ale żadna z dodatkowych użytecznych informacji iperf3 nie daje (czy był stabilny, czy doświadczył powolnego startu TCP, czy były retransmisje itp.). Wszystkie te są bardzo przydatne (prawie wymagane), aby rozwiązać nieoczekiwanie niską przepustowość, a nawet zrozumieć, co oznacza „masz X Mb / s”.
derobert
Ok dzięki, nie wiedziałem o tym narzędziu.
Pozinux
7

Patrząc na pakiety w Debianie, istnieją dwie różne implementacje netcat ( nc), myślę, że obie instalują się z tym samym plikiem binarnym, netcatjak również są ncdo niego podłączone (chociaż używają systemu „alternatyw” Debiana do kontrolowania, która z implementacji pojawia się z nazwa główna.) Są to netcat-traditional(„klasyczny” netcat, napisany przez Hobbita . Brakuje wielu funkcji znalezionych w netcat-openbsd. ”) i netcat-openbsd(„ przepisanie netcat przez OpenBSD, w tym obsługa IPv6, serwerów proxy i Uniksa gniazda. ”).

ncatjest wersją netcat z projektu Nmap, o której mówi się, że jest „znacznie ulepszoną reimplementacją czcigodnego Netcata”.

Wszystkie trzy wydają się mieć tę samą podstawową funkcjonalność, jak w przypadku możliwości otwarcia gniazda i podłączenia lub nasłuchiwania, ale w przypadku wszystkiego powyżej możesz sprawdzić instrukcję obsługi swojej wersji. (Na przykład OpenBSD nie obsługuje -ewykonywania polecenia po połączeniu).

ilkkachu
źródło