<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Port-Scan on NetUtil</title>
    <link>https://www.netutil.app/ja/tags/port-scan/</link>
    <description>Recent content in Port-Scan on NetUtil</description>
    <generator>Hugo</generator>
    <language>ja</language>
    <lastBuildDate>Sat, 16 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.netutil.app/ja/tags/port-scan/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Mac でオープンポートを確認する方法：lsof、netstat、nc</title>
      <link>https://www.netutil.app/ja/blog/check-port-open-mac/</link>
      <pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate>
      <guid>https://www.netutil.app/ja/blog/check-port-open-mac/</guid>
      <description>&lt;p&gt;&lt;code&gt;rails server&lt;/code&gt; を実行したのに何も読み込まれない。またはリモートサーバーに接続しようとして何も返ってこない。最初の疑問は常に同じです：ポートは本当にオープンなのか？&lt;/p&gt;&#xA;&lt;p&gt;Mac でのポート状態の確認はコマンド一つで済みます。コツは、自分の Mac を確認するのかリモートホストを確認するのかに応じて、どのコマンドを使うかを知ることです。&lt;/p&gt;&#xA;&lt;h2 id=&#34;自分の-mac-のオープンポートを確認する&#34;&gt;自分の Mac のオープンポートを確認する&lt;/h2&gt;&#xA;&lt;p&gt;これは開発者にとって最もよくあるケースです。開発サーバーがポート 3000 で動いているはずなのに、ブラウザは接続できないと言っている。そもそもポートはリッスンしているのでしょうか？&lt;/p&gt;&#xA;&lt;h3 id=&#34;lsof--i-ポート番号素早い答え&#34;&gt;lsof -i :ポート番号（素早い答え）&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f7f7f7;-moz-tab-size:2;-o-tab-size:2;tab-size:2;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lsof -i :3000&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;何かがリッスンしている場合、このような出力が表示されます：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;COMMAND   PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME&#xA;ruby     8421  aaron  13u  IPv4 0x3f8a2b4c      0t0  TCP *:3000 (LISTEN)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;出力が空の場合、そのポートには何もバインドされていません。Rails サーバーが動いていないか、別のポートで起動したかのどちらかです。&lt;/p&gt;&#xA;&lt;p&gt;ポート 8080 の場合：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f7f7f7;-moz-tab-size:2;-o-tab-size:2;tab-size:2;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lsof -i :8080&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ポート 80 の場合（特権ポートなので sudo が必要）：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f7f7f7;-moz-tab-size:2;-o-tab-size:2;tab-size:2;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo lsof -i :80&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;lsof--i--grep-listenすべてを一度に確認&#34;&gt;lsof -i | grep LISTEN（すべてを一度に確認）&lt;/h3&gt;&#xA;&lt;p&gt;Mac が現在リッスンしているすべてのポートを確認するには：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f7f7f7;-moz-tab-size:2;-o-tab-size:2;tab-size:2;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lsof -i &lt;span style=&#34;color:#1f2328&#34;&gt;|&lt;/span&gt; grep LISTEN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;出力にはオープンなリッスンポートを持つすべてのプロセスが表示されます：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ruby      8421  aaron  13u  IPv4  TCP *:3000 (LISTEN)&#xA;node      9102  aaron  21u  IPv6  TCP *:8080 (LISTEN)&#xA;postgres  1234  aaron   5u  IPv4  TCP localhost:5432 (LISTEN)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;localhost:5432&lt;/code&gt; と &lt;code&gt;*:3000&lt;/code&gt; の違いに注目してください。Postgres は同じマシンからの接続のみを受け付けています。Rails はネットワーク上のどこからでも接続を受け付けています。同じネットワーク上の別のデバイスから接続しようとしている場合、この区別が重要になります。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
