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:
iptables
出力は、ポートがブロックされていないことを示しています。
質問は次のとおりです。ポート8000でリッスンしているものはありますか?ポートで何もリッスンしていないが、ポートがファイアウォールによってブロックされていない場合、nmap
はclosed
として報告します。 ここ から:
閉まっている
閉じたポートはアクセス可能です(Nmapプローブパケットを受信して応答します)が、リッスンしているアプリケーションはありません。ホストがIPアドレスで稼働していることを示すのに役立ちます(ホスト検出、またはpingスキャン)。また、OS検出の一部として役立ちます。閉じたポートに到達できるため、一部が開いた場合は後でスキャンする価値があります。管理者は、そのようなポートをファイアウォールでブロックすることを検討できます。次に、それらはフィルターされた状態で表示されます。次に説明します。
nmap
レポート:"996 closed ports"
は、実際にはこれらのポートがファイアウォールによってブロックされていないが、それらをリッスンしているプログラムがないことを示しています。 nmap
は、ブロックされたポートをfiltered
として報告します:
フィルター済み
パケットフィルタリングによってプローブがポートに到達できないため、Nmapはポートが開いているかどうかを判断できません。フィルタリングは、専用のファイアウォールデバイス、ルータールール、またはホストベースのファイアウォールソフトウェアからのものです。 ...
したがって、ポート8000でアプリケーションをリスニング状態にすると、nmap
の出力に表示される可能性があります。ポートを開こうとしているマシンでpython3 -m http.server
またはpython -m SimpleHTTPServer
を実行するだけでこれを行うことができます。これにより、ポート8000でリッスンするHTTPサーバーが配置されます。次に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
は閉じていると言います。
Ubuntuでポートを有効にするには
Sudo ufw allow <port_nr>
例:sshを許可する
Sudo ufw allow 22
Sudo ufw enable
それでおしまい