
UNIX Cafe | 第41回
ネットワークの安全チェックへようこそ
「自分のパソコン、ネットワーク的に安全なのかな?」
「ポートとかファイアウォールって言葉は聞くけど、なんだか難しそう…」
そんな風に感じたことはありませんか?特にターミナル(黒い画面)に触れる機会が増えると、ふとセキュリティのことが気になってしまうものです。
この記事では、MacやLinuxをお使いの初心者の方でも安心して取り組める、ネットワークの基本的な安全チェック方法を、対話形式でやさしく解説します。難しい専門用語はかみ砕き、コピー&ペーストで使えるコマンドだけを紹介するので、ご安心ください。
この記事を読み終える頃には、自分の手でネットワークの状態を確認し、「うん、大丈夫!」と安心できるスキルが身についているはずです。
まずは内部から!「開いているポート」をこっそり覗いてみよう
ネットワークの安全確認は、まず自分のパソコンの「内側」から見てみるのが基本です。外部から攻撃者が侵入できる「入口」が開いていないか、一緒に確認していきましょう。
Mac / Linux で LISTEN を確認する
ミナちゃん先生、「入口が開いている」って、専門用語だと何て言うんでしたっけ?



いい質問だね、ミナちゃん。それは「ポートがLISTEN(リッスン)している」状態のことだよ。「LISTEN」は「聞く」という意味で、外部からの接続を待ち構えている状態を指すんだ。
Mac / Linux で「LISTEN」しているポートを確認するコマンド
それでは早速、現在LISTEN状態のポートを探してみましょう。ターミナルを開いて、以下のコマンドをコピー&ペーストして実行してみてください。
sudo lsof -i -P | grep LISTENコマンドの分解ショー
lsof -i -P
これは「今使われている通信の一覧を、全部表示して!」という命令です。ネットワークに関するあらゆる活動がリストアップされます。
|(パイプ)
これはプログラミングの世界でよく使われる「パイプ」という記号です。左側のコマンドの実行結果を、右側のコマンドに「受け渡す」役割をします。まるで水道管のようにデータを流すイメージです。
grep LISTEN
grep は、大量のテキストの中から特定のキーワードが含まれる行だけを抜き出す「フィルター」のようなコマンドです。ここでは、lsofがリストアップした大量の通信の中から、「LISTEN」という文字が含まれる行だけを抽出しています。
つまり、この一行は「すべての通信を調べて、その中から入口を開けて待っている(LISTEN)ものだけを教えて!」という意味になります。
実行結果の例
ControlCenter 618 noi 8u TCP *:7000 (LISTEN)


本当だ!(LISTEN) って書いてあります! これが今、開いている入口なんですね!
この結果から「ControlCenterというアプリが、7000番の入口(ポート)を開けて待っている」ということが分かります。このように、意図しないアプリがポートを開いていないかを確認するのが、内部チェックの第一歩です。
安心ポイント
ここで表示されるポートの多くは、パソコンが自分自身の内部で通信するために使っているものです。*ではなくlocalhostや127.0.0.1と表示されているものは、外部からはアクセスできないので、ひとまず安心してください。
今度は外から!「nmap」で客観的に診断してみよう
内部のチェックが終わったら、次は「外の世界から自分のパソコンがどう見えているか」を確認します。これには nmap という、ネットワーク診断のプロも使う強力なツールを使います。
nmap を使うことで、あたかも外部の第三者になったかのように、自分のパソコンのポートをスキャンできます。
nmapのインストール
nmap は標準ではインストールされていないことが多いので、まずは準備をしましょう。
macOSの場合 (Homebrewを使用)
brew install nmapLinuxの場合 (Debian/Ubuntu系)
sudo apt update
sudo apt install nmap


これって、自分のパソコンの入口がどう見えるか調べてるんですね!
自分のPCをスキャンしてみる
インストールが完了したら、さっそく自分のPC (localhost) をスキャンしてみましょう。
nmap localhostこれで、外部からアクセス可能なポートの状態が一覧で表示されます。
主要なポートだけをピンポイントで確認する
全部のポートを調べるのは時間がかかるので、特に狙われやすい主要なポート(22番:SSH, 80番:HTTP, 443番:HTTPS)の状態を確認してみましょう。
nmap -p 22,80,443 localhost


必要なポートだけをピンポイントで確認することもできるよ。
実行結果の例と見方
PORT STATE SERVICE
22/tcp closed ssh
80/tcp closed http
443/tcp closed https


結果は全て closed になっています。
ポイント
結果に `closed` と表示されていれば、そのポートは「閉じている」ということ。つまり、外部からその入口を通って侵入することはできません。意図的にサーバーとして公開していない限り、`closed` となっているのが最も安全な状態です。
- 22/tcp closed ssh: 外部からSSH(遠隔操作)でログインできない状態。安全です。
- 80/tcp closed http: Webサーバーが動いていない状態。安全です。
- 443/tcp closed https: 暗号化されたWebサーバーが動いていない状態。安全です。
最後の砦!ファイアウォールの状態を確認しよう
ポートの開閉状態を確認したら、最後の砦である「ファイアウォール」が正しく機能しているかも見ておきましょう。ファイアウォールは、不正な通信をブロックしてくれる「門番」のような存在です。
Mac の場合
macOSに内蔵されているアプリケーションファイアウォールの状態は、以下のコマンドで確認できます。
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstateFirewall is enabled. (State = 1) と表示されれば、有効になっています。
Linux (UFW) の場合
Ubuntuなどでよく使われるUFW(Uncomplicated Firewall)の状態は、以下のコマンドで確認できます。
sudo ufw statusStatus: active と表示されれば、ファイアウォールは有効です。
危険な“開きっぱなしポート”を見つけるポイント
初心者が覚えておきたい3つの判断基準
- 見覚えのないサービスが LISTEN していないか
- 本来使っていないポートが開いていないか
- 22番(SSH)が外部に公開されていないか



知らないドアが開いていないか、ちゃんと点検するんですね!
まとめ:セキュリティチェックは「健康診断」
今回は、ネットワークの安全性を確認するための基本的な3つのステップを紹介しました。
- lsofで内部のLISTENポートを確認する
- nmapで外部からの見え方を確認する
- ファイアウォールが有効かを確認する
セキュリティチェックというと、何か怖いものを見つける作業のように感じるかもしれませんが、実際は「自分のPCの今の状態を知る」ための健康診断のようなものです。
特に初心者が覚えておきたい危険なサインは以下の3つです。
- 見覚えのないサービスがポートを開いていないか?
- Webサーバーなどを動かしていないのに、80番や443番ポートが開いていないか?
- SSH(22番ポート)が意図せず外部に公開されていないか?
定期的にこのページのコマンドを実行して、自分のPCの状態をチェックする習慣をつけるだけで、安心してインターネットを楽しむことができます。



安全チェックというと難しく聞こえるけれど、本当は“今どんなドアが開いているかな?” と軽く点検するだけでも十分なんだ。
次回予告
次回は、今回も登場した「SSH」の世界を深掘りします。遠く離れたコンピュータと安全に通信するための仕組みを、初心者にも分かりやすく解説しますので、お楽しみに!
さらに学びたいあなたへ
📘 用途ごとに選ぶ Linux のおすすめ本










