포트를 여는 방법?


21

우분투 12.04를 가지고 있으며 방화벽에서 특정 포트를 허용하지 않습니다. 그래서 나는 기본적으로 모든 것을 허용 할 것이라고 말했지만 여전히 작동하지 않습니다. 도와주세요. 다른 컴퓨터 에서이 컴퓨터의 nmap은 다음과 같이 말합니다.

$ nmap host_name
Not shown: 996 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds

그리고 여기 같은 기계의 nmap이 있습니다

$ nmap localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2014-01-21 11:14 PST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000080s latency).
Not shown: 991 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
631/tcp  open  ipp
3306/tcp open  mysql
8000/tcp open  http-alt

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

포트 8000을 열고 여기에 iptables의 출력이 있습니다.

# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0  

mmoghimi@titan:~$ sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      14842/mysqld    
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      982/smbd        
tcp        0      0 127.0.0.1:39346         0.0.0.0:*               LISTEN      3405/GoogleTalkPlug
tcp        0      0 127.0.0.1:50995         0.0.0.0:*               LISTEN      3405/GoogleTalkPlug
tcp        0      0 127.0.0.1:5939          0.0.0.0:*               LISTEN      2412/teamviewerd
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      2429/dnsmasq    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      985/sshd        
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1267/cupsd      
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1748/exim4      
tcp        0      0 0.0.0.0:17500           0.0.0.0:*               LISTEN      2885/dropbox    
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      982/smbd        
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN      4134/python    
tcp6       0      0 :::139                  :::*                    LISTEN      982/smbd        
tcp6       0      0 :::80                   :::*                    LISTEN      1832/apache2    
tcp6       0      0 :::22                   :::*                    LISTEN      985/sshd        
tcp6       0      0 ::1:631                 :::*                    LISTEN      1267/cupsd      
tcp6       0      0 ::1:25                  :::*                    LISTEN      1748/exim4      
tcp6       0      0 :::445                  :::*                    LISTEN      982/smbd        
udp        0      0 127.0.0.1:53            0.0.0.0:*                           2429/dnsmasq    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           2403/dhclient  
udp        0      0 128.54.44.214:123       0.0.0.0:*                           3430/ntpd      
udp        0      0 MYIP:123                0.0.0.0:*                           3430/ntpd      
udp        0      0 127.0.0.1:123           0.0.0.0:*                           3430/ntpd      
udp        0      0 0.0.0.0:123             0.0.0.0:*                           3430/ntpd      
udp        0      0 137.110.255.255:137     0.0.0.0:*                           2602/nmbd      
udp        0      0 MYIP:137                0.0.0.0:*                           2602/nmbd      
udp        0      0 128.54.47.255:137       0.0.0.0:*                           2602/nmbd      
udp        0      0 128.54.44.214:137       0.0.0.0:*                           2602/nmbd      
udp        0      0 0.0.0.0:137             0.0.0.0:*                           2602/nmbd      
udp        0      0 137.110.255.255:138     0.0.0.0:*                           2602/nmbd      
udp        0      0 MYIP:138                0.0.0.0:*                           2602/nmbd      
udp        0      0 128.54.47.255:138       0.0.0.0:*                           2602/nmbd      
udp        0      0 128.54.44.214:138       0.0.0.0:*                           2602/nmbd      
udp        0      0 0.0.0.0:138             0.0.0.0:*                           2602/nmbd      
udp        0      0 0.0.0.0:17500           0.0.0.0:*                           2885/dropbox    
udp        0      0 0.0.0.0:36889           0.0.0.0:*                           1356/avahi-daemon:
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1356/avahi-daemon:
udp6       0      0 ::1:123                 :::*                                3430/ntpd      
udp6       0      0 fe80::fab1:56ff:fe9:123 :::*                                3430/ntpd      
udp6       0      0 fe80::3e77:e6ff:fe6:123 :::*                                3430/ntpd      
udp6       0      0 :::123                  :::*                                3430/ntpd      
udp6       0      0 :::33792                :::*                                1356/avahi-daemon:
udp6       0      0 :::5353                 :::*                                1356/avahi-daemon:

답변:


25

당신의 iptables어떤 포트가 차단되지 않은 출력을 보여줍니다.

문제는 포트 8000에서 수신 대기하는 것이 있습니까? 포트에서 수신 대기하는 것이 없지만 방화벽으로 포트를 차단하지 않으면 포트가로 nmap보고됩니다 closed. 에서 여기 :

닫은

닫힌 포트에 액세스 할 수 있지만 (Nmap 프로브 패킷을 수신하고 이에 응답) 애플리케이션이 수신 대기하지 않습니다. 호스트가 IP 주소 (호스트 검색 또는 ping 스캔)에 있고 OS 감지의 일부로 작동 중임을 표시하는 데 도움이 될 수 있습니다. 닫힌 포트에 접근 할 수 있기 때문에 일부가 열린 경우 나중에 스캔 할 가치가 있습니다. 관리자는 방화벽으로 이러한 포트를 차단하는 것을 고려할 수 있습니다. 그러면 다음에 설명 할 필터링 된 상태로 나타납니다.

따라서 nmap보고서는 "996 closed ports"실제로 이러한 포트는 방화벽에 의해 차단되지 않지만 어떤 프로그램도 수신하고 있지 않다고 말합니다. nmap차단 된 포트를 filtered다음 과 같이보고합니다 .

거르는

패킷 필터링으로 프로브가 포트에 도달하지 못하므로 Nmap이 포트가 열려 있는지 확인할 수 없습니다. 필터링은 전용 방화벽 장치, 라우터 규칙 또는 호스트 기반 방화벽 소프트웨어에서 수행 할 수 있습니다. ...

따라서 응용 프로그램을 포트 8000에서 수신 대기 상태로두면의 출력에 나타날 수 nmap있습니다. 포트를 열려고하는 시스템에서 실행 python3 -m http.server하거나 python -m SimpleHTTPServer포트를 열려고하는 경우이 작업을 수행 할 수 있습니다. 그러면 HTTP 서버가 포트 8000을 수신 대기하게됩니다. 그런 다음 nmap다시 실행 하여 시스템을 스캔하십시오.

최신 정보:

귀하의 netstat출력이 라인을 가지고 :

tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN      4134/python  

즉, 파이썬 프로그램은 로컬 호스트 (127.0.0.1)에서만 수신하므로 외부가 아닌 로컬 호스트에서만 액세스 할 수 있습니다. 프로그램은 네트워크 어댑터의 IP 또는 범용 0.0.0.0 IP에서 수신 대기해야합니다. 문제는 위에서 쓴 것입니다. 프로그램은 8000 포트 (외부에서)를 듣고 있지 않으므로 nmap닫혀 있다고 말합니다.


같은 컴퓨터에서 nmap을 추가했습니다. 실제로 8000에서 듣는 프로그램이 있습니다
Mohammad Moghimi

@MohammadMoghimi sudo netstat -tulpn포트를 열려고하는 컴퓨터에서 실행 하여 출력을 게시하십시오.
falconer

pastebin.com/xhwc6vMN MYIP는 내 IP 주소입니다.
Mohammad Moghimi 2018 년

@MohammadMoghimi 내 대답을 업데이트했습니다. 프로그램은 locahost에서만 듣고 있습니다. 문제가 있습니다. 내 업데이트를 참조하십시오.
falconer

팔 코너 말이 맞아 127.0.0.1 대신 0.0.0.0 또는 LAN IP 주소를 수신하도록 프로그램을 변경하십시오.
Xavier J

1

우분투에서 포트를 활성화하려면

sudo ufw allow <port_nr>

예를 들어 ssh를 허용하려면

sudo ufw allow 22

sudo ufw enable

그게 IT


1
하나님을 위해 이것을 쓰지 마십시오. sudo ufw enable
Vasile
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.