리눅스 자체 방화벽에서 포트를 열고 닫는데 이때 다른 컴퓨터나 VM에서 접속하려고 하면 안되는 경우가 있다.

 

포트가 닫혀있는지 확인하는 법은

 

cmd에서는 ping이나 tcping을 사용하면 된다.

 

아래처럼 나오면 연결이 안된다는 뜻

아래처럼 나오면 연결이 잘 동작한다는 뜻이다.

 

하지만 특정 포트에 알아보고 싶으면 tcping을 쓰면 된다.

 

설치방법은 C:\Windows\System32 경로에 아래 파일을 복사하면된다.

tcping.exe
0.25MB

 

그리고 cmd창에 tcping이라고 입력하면 쭈루룩 무언가가 뜨는데, 이러면 설치 성공이다.

 

5009포트에 대해서 tcping 테스트를 해보면 아래와 같이나온다.

 

No response라고 뜨는데, 이는 5009 포트가 닫혀있다는 것을 의미한다.

 

5006 포트는 열려있기에 아래와 같이 정상적으로 작동한다.

 

 

만약 내가 리눅스OS에서 5006 포트를 열었는데 타PC에서 접속할때 No response가 뜬다면 리눅스 방화벽이 원인이고 이는 여러 방법으로 해결할 수 있다.

 

netstat을 이용한 port 스캔

 

$ netstat -tnlp       // 현재 가동 중인 포트 들을 보여준다.

이와 더불어 netstat -nap도 열려있는 모든 포트를 보여준다. grep을 사용하여 포트번호를 검색할 수 도 있다.

 

$ netstat 

namp을 이용한 포트 확인

 

nmap을 이용한 port 스캔

리눅스 상에 아래 명령어를 치면 Usage: Nmap으로 나오면 nmap이 이미 설치되어 있는 것.

$ nmap

 

Command 'nmap' not found가 나온다면 설치를 해줘야 한다.

아래 명령어로 namp을 설치 한다.

 

$ sudo apt install nmap

 

그리고 아래 명령어를 실행 해본다.

 

$ nmap -sT 172.26.12.120      // 172.26.12.120에서 열린 port들을 보여준다.

$ nmap -sT 172.26.12.120 -p 5006     // 172.26.12.120의 5006포트가 열렸는지 닫혔는지 보여준다.

$ nmap -Pn 172.26.12.120 -p 5006     // 172.26.12.120의 5006포트가 열렸는지 닫혔는지 보여준다.

 

-sT 또는 -Pn을 주로 쓴다.

-sT 일반적인 TCP 포트스캐닝.
-sS 이른바 'half-open' 스캔으로 추적이 어렵다.
-sP ping 을 이용한 일반적인 스캔.
-sU UDP 포트 스캐닝.
-PO 대상 호스트에 대한 ping 응답을 요청하지 않음 .
log 기록과 filtering 을 피할 수 있다.
-PT 일반적이 ICMP ping이 아닌 ACK 패킷으로 ping 을 보내고
RST 패킷으로 응답을 받는다.
-PI 일반적인 ICMP ping 으로 방화벽이나 필터링에 의해 걸러진다.
-PB ping 을 할 때 ICMP ping 과 TCP ping을 동시에 이용한다.
-PS ping 을 할 때 ACK 패킷대신 SYN 패킷을 보내 스캔.
-O 대상 호스트의 OS 판별.
-p 대상 호스트의 특정 포트를 스캔하거나, 스캔할 포트의 범위를 지정.
ex) -p 1-1024
-D Decoy 기능으로 대상 호스트에게 스캔을 실행한 호스트의 주소를 속인다.
-F /etc/services 파일 내에 기술된 포트만 스캔.
-I TCP 프로세서의 identd 정보를 가져온다.
-n IP 주소를 DNS 호스트명으로 바꾸지 않는다. 속도가 빠르다.
-R IP 주소를 DNS 호스트명으로 바꿔서 스캔. 속도가 느리다.
-o 스캔 결과를 택스트 파일로 저장.
-i 스캔 대상 호스트의 정보를 지정한 파일에서 읽어서 스캔.
-h 도움말 보기

 

PORT의 state가 open이면 열렸다는 것, closed면 닫혔거나 존재하지 않는다는 것, filtered면 열렸지만 방화벽으로 가로막혔다는 것을 뜻한다.

 

filtered면 방화벽을 해제함으로써 다른 pc에서 통신할수 있게끔 할수 있다. 다음장에 계속

 

 

 

 

 

+ Recent posts