ì•„ì ´ìŠ¤í ¬ë¦¼ ì¹¼ë ¼í ¼ ìŠ¬ë ¼ì „ 액체괴물 만들기!! í 르는 ì í† ì•¡ê´´ ìŠ¬ë ¼ì „ 놀ì
차례:
네트워크 연결 문제를 해결하거나 방화벽을 구성하는지 여부는 가장 먼저 확인해야 할 사항 중 하나는 시스템에서 실제로 열린 포트입니다.
이 기사에서는 Linux 시스템에서 어떤 포트가 외부에 열려 있는지 확인하는 몇 가지 방법에 대해 설명합니다.
개방 포트란?
수신 포트는 응용 프로그램이 수신하는 네트워크 포트입니다.
ss
,
netstat
또는
lsof
와 같은 명령으로 네트워크 스택을 쿼리하여 시스템의 청취 포트 목록을 얻을 수 있습니다. 방화벽을 사용하여 각 청취 포트를 열거 나 닫을 수 있습니다 (필터링).
일반적으로, 열린 포트는 원격 위치에서 들어오는 패킷을받는 네트워크 포트입니다.
예를 들어 포트
80
및
443
에서 수신 대기하는 웹 서버를 실행 중이고 해당 포트가 방화벽에서 열려 있으면 모든 사용자 (차단 된 IP 제외)는 자신의 브라우저를 사용하여 웹 서버에서 호스팅되는 웹 사이트에 액세스 할 수 있습니다. 이 경우
80
및
443
은 모두 열린 포트입니다.
개방 포트는 각 개방 포트를 사용하여 취약성을 악용하거나 다른 유형의 공격을 수행 할 수 있으므로 보안 위험이 발생할 수 있습니다. 응용 프로그램 기능에 필요한 포트만 노출하고 다른 모든 포트를 닫아야합니다.
nmap
열린 포트 확인
Nmap은 단일 호스트 및 대규모 네트워크를 검색 할 수있는 강력한 네트워크 검색 도구입니다. 주로 보안 감사 및 침투 테스트에 사용됩니다.
가능한 경우
nmap
은 포트 스캔과 관련하여 첫 번째 도구가되어야합니다. 포트 스캐닝 외에도
nmap
은 Mac 주소, OS 유형, 커널 버전 등을 감지 할 수 있습니다.
콘솔에서 실행 된 다음 명령은 네트워크에서 TCP 연결을 수신하는 포트를 결정합니다.
sudo nmap -sT -p- 10.10.8.8
-sT
는
nmap
에게 TCP 포트를 스캔하고
-p-
는 모든 65535 포트를 스캔하도록
-p-
합니다.
-p-
를 사용하지 않으면
nmap
은 1000 개의 포트만 스캔합니다.
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
위의 출력은 대상 시스템에서 포트
22
,
80
및
8069
만
8069
는 것을 보여줍니다.
UDP 포트를 스캔하려면
-sT
대신
-sU
를 사용하십시오.
sudo nmap -sU -p- 10.10.8.8
자세한 내용은 nmap 매뉴얼 페이지를 방문하여이 도구의 다른 모든 강력한 옵션에 대해 읽으십시오.
netcat
열린 포트 확인
Netcat (또는
nc
)은 TCP 또는 UDP 프로토콜을 사용하여 네트워크 연결을 통해 데이터를 읽고 쓸 수있는 명령 줄 도구입니다.
netcat
을 사용하면 단일 포트 또는 포트 범위를 스캔 할 수 있습니다.
예를 들어,
20-80
범위의 IP 주소가
10.10.8.8
원격 시스템에서 열린 TCP 포트를 스캔하려면 다음 명령을 사용하십시오.
nc -z -v 10.10.8.8 20-80
-z
옵션은 데이터를 보내지 않고 열린 포트만 스캔하도록
nc
에 지시하고
-v
는 자세한 정보를 제공합니다.
결과는 다음과 같습니다.
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!
UDP 포트를 스캔하려면
-u
옵션을
nc
명령에 전달하십시오.
nc -z -v -u 10.10.8.8 20-80 2>&1 | grep succeeded
Bash Pseudo Device를 사용하여 열린 포트 확인
특정 포트가 열려 있는지 또는 닫혀 있는지 확인하는 또 다른 방법은 Bash 쉘
/dev/tcp/..
또는
/dev/udp/..
의사 장치를 사용하는 것입니다.
/dev/$PROTOCOL/$HOST/$IP
의사 장치에서 명령을 실행할 때 Bash는 지정된 포트의 지정된 호스트에 대한 TCP 또는 UDP 연결을 엽니 다.
다음 if..else 문은
kernel.org
포트
443
이 열려 있는지 확인합니다.
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
위의 코드는 어떻게 작동합니까?
의사 장치를 사용하여 포트에 연결할 때 기본 시간 초과가 커서 5 초 후에 테스트 명령을 종료하기 위해
timeout
명령을 사용합니다.
kernel.org
포트
443
연결되면 test 명령은 true를 반환합니다.
for 루프를 사용하여 포트 범위를 확인할 수도 있습니다.
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
결과는 다음과 같습니다.
port 22 is open port 80 is open
결론
열린 포트를 검색하는 데 사용할 수있는 몇 가지 도구를 보여주었습니다. 열린 포트를 확인하는 다른 유틸리티와 메소드도 있습니다. 예를 들어 Python
socket
모듈,
curl
,
telnet
또는
wget
사용할 수 있습니다.
Meru가 월요일에 Wi-Fi에 가상 포트를 제공한다고 발표했다. 무선 네트워크를위한 "가상 포트"의 개발을 통해 결국 이더넷이 스위치드 이더넷 포트만큼 신뢰할 수있게 만들어 Wi-Fi가 이더넷을 대체 할 수있게되었습니다.

Wi-Fi, 802.11n의 새로운 빠른 버전은 Meru의 Rachna Ahlawat 마케팅 담당 부사장은 이더넷의 성능은 예측할 수 없을 것이라고 예측했다. Meru의 무선 컨트롤러의 최신 소프트웨어에 도입 된 가상 포트는 각 사용자에게 전용 네트워크 서비스를 제공하며 이는 서비스 품질 및 데이터 전송률과 연결될 수 있습니다.
는 시스템에 연결된 모든 TCP, UDP 통신에 대해 매우 유용한 정보를 제공 할 수있는 무료 응용 프로그램이므로 식별하기에 유용합니다 잠재적 인 위협. 요즘 우리는 수많은 해킹 이야기를 듣고 있습니다. 수백만 대의 컴퓨터가 멀웨어에 의해 손상되고 있습니다. TCP / UDP 트래픽을 모니터링하면 사용자가 능동적 인 위협으로부터 컴퓨터를 보호 할 수 있습니다. PortExpert는 해커가 시스템에서 악의적 인 활동을 수행하는 데 사용할 수있는 열린 TCP 또는 UDP 포트를 확인합니다. 컴퓨터 사용자는 위협, 바이러스 또는 열린 포트를 확인해야하며 적시에 검사를 실행하여 컴퓨터에서 해당 위협을 탐지하고 제거해야합니다.

TCP, UDP 포트 모니터링
Linux에서 수신 대기 포트를 확인하는 방법 (사용중인 포트)

이 기사에서는 사용중인 포트를 찾는 방법과 netstat, ss 및 lsof 명령을 사용하여 어떤 포트에서 수신중인 서비스를 찾는 지 설명합니다. 이 지침은 macOS와 같은 모든 Linux 및 Unix 기반 운영 체제에 적용됩니다.