Проброс COM портов через TCP/IP с помощью Virtual Serial Ports Emulator (Windows)
Spisu treści:
- Co to jest Open Port
- Sprawdź otwarte porty za pomocą
nmap
- Sprawdź otwarte porty za pomocą
netcat
- Sprawdź otwarte porty za pomocą pseudo urządzenia Bash
- Wniosek
Niezależnie od tego, czy rozwiązujesz problemy z łącznością sieciową, czy konfigurujesz zaporę ogniową, jedną z pierwszych rzeczy do sprawdzenia jest, które porty są faktycznie otwarte w twoim systemie.
W tym artykule opisano kilka podejść, aby dowiedzieć się, które porty są otwarte na zewnątrz w systemie Linux.
Co to jest Open Port
Port nasłuchujący to port sieciowy, na którym nasłuchuje aplikacja. Listę portów nasłuchiwania w systemie można uzyskać, sprawdzając stos sieciowy za pomocą poleceń, takich jak
ss
,
netstat
lub
lsof
. Każdy port nasłuchujący może być otwarty lub zamknięty (przefiltrowany) za pomocą zapory ogniowej.
Ogólnie rzecz biorąc, port otwarty to port sieciowy, który przyjmuje pakiety przychodzące ze zdalnych lokalizacji.
Na przykład, jeśli korzystasz z serwera WWW, który nasłuchuje na portach
80
i
443
a te porty są otwarte w zaporze, każdy (oprócz zablokowanego Ips) będzie mógł uzyskać dostęp do stron internetowych hostowanych na twoim serwerze za pomocą swojej przeglądarki. W tym przypadku zarówno
80
, jak i
443
są otwartymi portami.
Otwarte porty mogą stanowić zagrożenie dla bezpieczeństwa, ponieważ każdy otwarty port może być wykorzystywany przez atakujących w celu wykorzystania luki lub wykonania dowolnego innego rodzaju ataku. Powinieneś udostępnić tylko porty potrzebne do działania aplikacji i zamknąć wszystkie pozostałe porty.
Sprawdź otwarte porty za pomocą
nmap
Nmap to potężne narzędzie do skanowania sieci, które może skanować pojedyncze hosty i duże sieci. Służy głównie do audytów bezpieczeństwa i testów penetracyjnych.
Jeśli to możliwe,
nmap
powinno być pierwszym narzędziem do skanowania portów. Oprócz skanowania portów
nmap
może również wykryć adres Mac, typ systemu operacyjnego, wersje jądra i wiele więcej.
Następujące polecenie wydane z konsoli określa, które porty nasłuchują połączeń TCP z sieci:
sudo nmap -sT -p- 10.10.8.8
-sT
mówi
nmap
aby skanował w poszukiwaniu portów TCP i
-p-
aby skanował w poszukiwaniu wszystkich portów 65535 Jeśli nie użyto opcji
-p-
nmap
skanuje tylko 1000 portów.
Starting Nmap 7.60 (https://nmap.org) at 2019-07-09 23:10 CEST Nmap scan report for 10.10.8.8 Host is up (0.0012s latency). Not shown: 998 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http MAC Address: 08:00:27:05:49:23 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 0.41 seconds
Powyższe dane wyjściowe pokazują, że tylko porty
22
,
80
i
8069
są otwarte w systemie docelowym.
Aby skanować w poszukiwaniu portów UDP, użyj
-sU
zamiast
-sT
:
sudo nmap -sU -p- 10.10.8.8
Aby uzyskać więcej informacji, odwiedź stronę podręcznika nmap i przeczytaj o wszystkich innych potężnych opcjach tego narzędzia.
Sprawdź otwarte porty za pomocą
netcat
Netcat (lub
nc
) to narzędzie wiersza polecenia, które może odczytywać i zapisywać dane w połączeniach sieciowych przy użyciu protokołów TCP lub UDP.
netcat
umożliwia skanowanie pojedynczego portu lub zakresu portów.
Na przykład, aby skanować w poszukiwaniu otwartych portów TCP na zdalnym komputerze o adresie IP
10.10.8.8
z zakresu
20-80
, należy użyć następującego polecenia:
nc -z -v 10.10.8.8 20-80
Opcja
-z
mówi
nc
aby skanował tylko w poszukiwaniu otwartych portów, bez wysyłania żadnych danych, a
-v
oznacza więcej pełnych informacji.
Dane wyjściowe będą wyglądać mniej więcej tak:
nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused Connection to 10.10.8.8 22 port succeeded!… Connection to 10.10.8.8 80 port succeeded!
nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
Connection to 10.10.8.8 22 port succeeded! Connection to 10.10.8.8 80 port succeeded!
Aby skanować w poszukiwaniu portów UDP, przekaż opcję
-u
do polecenia
nc
:
nc -z -v -u 10.10.8.8 20-80 2>&1 | grep succeeded
Sprawdź otwarte porty za pomocą pseudo urządzenia Bash
Innym sposobem sprawdzenia, czy dany port jest otwarty czy zamknięty, jest użycie pseudo urządzenia Bash shell
/dev/tcp/..
lub
/dev/udp/..
Podczas wykonywania polecenia na pseudo-urządzeniu
/dev/$PROTOCOL/$HOST/$IP
Bash otworzy połączenie TCP lub UDP z określonym hostem na określonym porcie.
Poniższa instrukcja if..else sprawdzi, czy port
443
na
kernel.org
jest otwarty:
if timeout 5 bash -c ' /dev/null' then echo "Port is open" else echo "Port is closed" fi
if timeout 5 bash -c ' /dev/null' then echo "Port is open" else echo "Port is closed" fi
Port is open
Jak działa powyższy kod?
Domyślny limit czasu podczas łączenia się z portem za pomocą pseudo urządzenia jest ogromny, dlatego używamy polecenia
timeout
aby zabić polecenie testowe po 5 sekundach. Jeśli połączenie zostanie nawiązane z portem
kernel.org
443
polecenie testowe zwróci true.
Możesz także użyć pętli for, aby sprawdzić zakres portów:
for PORT in {20..80}; do timeout 1 bash -c " /dev/null" && echo "port $PORT is open" done
for PORT in {20..80}; do timeout 1 bash -c " /dev/null" && echo "port $PORT is open" done
Dane wyjściowe będą wyglądać mniej więcej tak:
port 22 is open port 80 is open
Wniosek
Pokazaliśmy kilka narzędzi, których możesz użyć do skanowania w poszukiwaniu otwartych portów. Istnieją również inne narzędzia i metody sprawdzania wolnych portów, na przykład możesz użyć modułu
socket
Python,
curl
,
telnet
lub
wget
.
Jak sprawdzić lub sprawdzić, gdzie link lub adres URL przekierowuje do
Te bezpłatne narzędzia online pomagają znaleźć, czy adres URL, który Cię przekierowuje chcesz sprawdzić idzie do wybranego miejsca docelowego, czy nie. Znajdź miejsce, do którego przekierowuje dany URL lub link.
Jak sprawdzić nasłuchiwanie portów w systemie Linux (porty w użyciu)
W tym artykule wyjaśniono, jak dowiedzieć się, które porty są używane i które usługi nasłuchują, które porty używają komend netstat, ss i lsof. Instrukcje dotyczą wszystkich systemów operacyjnych Linux i Unix, takich jak macOS.
Jak sprawdzić miejsce na dysku w systemie Linux za pomocą polecenia df
Ile miejsca pozostało na moim dysku twardym? W systemach Linux możesz użyć polecenia df, aby uzyskać szczegółowy raport na temat wykorzystania miejsca na dysku w systemie.