如何打开端口?


21

我有ubuntu 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:

Answers:


25

您的iptables输出显示没有端口被阻塞。

所以问题是:在端口8000上监听了什么?如果端口上没有监听任何内容,但是防火墙未阻止该端口,则nmap它将报告为closed。从这里

关闭

一个封闭的端口是可访问的(它接收并响应Nmap探测数据包),但是没有应用程序在监听它。它们可以帮助显示主机位于IP地址上(主机发现或ping扫描),并且可以作为操作系统检测的一部分。由于关闭的端口是可访问的,因此如果某些端口打开,则稍后值得扫描。管理员可能要考虑使用防火墙阻止此类端口。然后它们将以过滤状态出现,接下来再讨论。

因此该nmap报告:"996 closed ports"实际上说这些端口没有被防火墙阻止,但是没有程序在监听它们。nmap报告端口阻塞为filtered

已过滤

Nmap无法确定端口是否打开,因为数据包筛选会阻止其探针到达端口。过滤可以来自专用防火墙设备,路由器规则或基于主机的防火墙软件。...

因此,如果将应用程序置于端口8000上的侦听状态,则它可能会显示在的输出中nmap。如果您只是在运行python3 -m http.serverpython -m SimpleHTTPServer试图打开端口的计算机上运行,则可以执行此操作,这将使HTTP服务器侦听端口8000。然后nmap再次运行以扫描计算机。

更新:

您的netstat输出有这行:

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

这意味着您的python程序仅在本地主机(127.0.0.1)上侦听,因此只能从本地主机访问,而不能从外部访问。该程序必须侦听您的网络适配器的IP或通用的0.0.0.0 IP。问题是我在上面写的,没有程序在8000端口上侦听(来自外界),因此nmap说它已关闭。


我在同一台机器上添加了nmap。实际上有在8000监听程序
穆罕默德Moghimi

@MohammadMoghimi请sudo netstat -tulpn在要打开端口的计算机上运行,然后输出输出。
falconer 2014年


@MohammadMoghimi我更新了我的答案,您的程序仅在locahost上侦听,这就是问题所在,请参阅我的更新。
falconer 2014年

法尔康纳的权利。更改您的程序以侦听0.0.0.0或您的LAN ip地址而不是127.0.0.1。
Xavier J

1

在Ubuntu中启用端口

sudo ufw allow <port_nr>

例如允许ssh

sudo ufw allow 22

sudo ufw enable

而已


1
看在上帝的份上,不要写这个。将有初学者谁也不会能够访问他们的服务器后须藤UFW启用
瓦西里
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.