ludwig125のブログ

頑張りすぎずに頑張る父

VMのUbuntuに対して指定のポートが有効かどうか確認する

概要

ludwig125.hatenablog.com

  • 以前こちらでも設定したが、ufwで特定のポートからのアクセスを許可する方法と、それが有効か確認する方法を記載する

ufwとは

第76回 Ubuntuのソフトウェアファイアウォール:UFWの利用(1):Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

ufw(Uncomplicated FireWall)は,Ubuntuで標準的に利用できる,「⁠iptablesを簡単に設定するツール」です。ufwを利用することで,「⁠外部からの接続は基本的に受け付けない」「⁠sshだけは許す」などといった設定を,iptablesにくらべて格段に少ない操作で実現できます。

新たにポートを許可

[~] $sudo ufw allow 5000
ルールを追加しました
[~] $
  • ufw statusでポートを確認する
    • ※もともと80は有効。8181は上の記事で有効にしたもの
[~] $sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
8181                       ALLOW       Anywhere
80                         ALLOW       Anywhere
5000                       ALLOW       Anywhere

[~] $

ホストOSのWindowsから見られることを確認

  • Ubuntuで先程追加した5000番のポートを指定してWebサーバを立ち上げる
[~] $python3 -m http.server --cgi 5000
Serving HTTP on 0.0.0.0 port 5000 (http://0.0.0.0:5000/) ...
  • Windows側のブラウザで以下のアドレスを見てみる
http://192.168.3.11:5000
  • → ブラウザにUbuntuでWebサーバを立ち上げた場所のディレクトリが見られる

  • Ubuntu側にはリクエストを受けたことが表示される

[~] $python3 -m http.server --cgi 5000
Serving HTTP on 0.0.0.0 port 5000 (http://0.0.0.0:5000/) ...
192.168.3.2 - - [31/Jan/2018 00:06:54] "GET / HTTP/1.1" 200 -
192.168.3.2 - - [31/Jan/2018 00:06:54] code 404, message File not found
192.168.3.2 - - [31/Jan/2018 00:06:54] "GET /favicon.ico HTTP/1.1" 404 -
192.168.3.2 - - [31/Jan/2018 00:07:02] "GET / HTTP/1.1" 200 -

telnetで確認

C: >telnet 192.168.3.11 5000
  • ポートへの接続が有効な場合は以下の真っ黒な画面が表示される

f:id:ludwig125:20180131001433p:plain

  • この画面で適当に打ち込むとUbuntu側に返していることがわかる
  • 以下はabcdeと打ったときの結果
[~] $python3 -m http.server --cgi 5000
Serving HTTP on 0.0.0.0 port 5000 (http://0.0.0.0:5000/) ...
192.168.3.2 - - [31/Jan/2018 00:06:54] "GET / HTTP/1.1" 200 -
192.168.3.2 - - [31/Jan/2018 00:06:54] code 404, message File not found
192.168.3.2 - - [31/Jan/2018 00:06:54] "GET /favicon.ico HTTP/1.1" 404 -
192.168.3.2 - - [31/Jan/2018 00:07:02] "GET / HTTP/1.1" 200 -
192.168.3.2 - - [31/Jan/2018 00:15:20] code 400, message Bad request syntax ('abcde')
192.168.3.2 - - [31/Jan/2018 00:15:20] "abcde" 400 -

5000が有効になったことを確認できた