<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Developer on NetUtil</title>
    <link>https://www.netutil.app/ja/tags/developer/</link>
    <description>Recent content in Developer 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/developer/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>
    <item>
      <title>Mac の nslookup：DNS ルックアップコマンドとその使い分け</title>
      <link>https://www.netutil.app/ja/blog/dns-lookup-mac/</link>
      <pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate>
      <guid>https://www.netutil.app/ja/blog/dns-lookup-mac/</guid>
      <description>&lt;p&gt;DNS レコードを確認したい場面があります。ホスティングプロバイダーを切り替えて、ドメインが新しいサーバーを指しているか確認したい。メールが届かず MX レコードの問題を疑っている。あるいはサイトが間違ったコンテンツを表示していて、DNS の問題なのかそれとも別の何かなのかを調べようとしている。&lt;/p&gt;&#xA;&lt;p&gt;macOS には DNS ルックアップのための Terminal コマンドが 3 つ組み込まれています：&lt;code&gt;nslookup&lt;/code&gt;、&lt;code&gt;dig&lt;/code&gt;、&lt;code&gt;host&lt;/code&gt;。すべて DNS に問い合わせますが、それぞれ結果の表示が異なり、適した状況も異なります。&lt;/p&gt;&#xA;&lt;h2 id=&#34;dns-ルックアップが実際にすること&#34;&gt;DNS ルックアップが実際にすること&lt;/h2&gt;&#xA;&lt;p&gt;ブラウザにドメイン名を入力すると、Mac は DNS リゾルバー（通常は ISP のものか 1.1.1.1 などの公共リゾルバー）にそのドメイン名を IP アドレスに変換するよう依頼します。リゾルバーが答えを調べ、コンピューターはその IP に接続します。&lt;/p&gt;&#xA;&lt;p&gt;DNS ルックアップはこの変換を自分で実行し、結果を確認するものです。ドメインがどの IP に解決されるか、メールをどのメールサーバーが処理するか、どのネームサーバーがそのドメインの権威を持つかを確認できます。これで日常的なデバッグのほとんどをカバーできます。&lt;/p&gt;&#xA;&lt;p&gt;知っておく価値のある一般的なレコードタイプ：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;A&lt;/strong&gt;：IPv4 アドレス（最もよく調べるもの）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;AAAA&lt;/strong&gt;：IPv6 アドレス&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;MX&lt;/strong&gt;：メールサーバー、優先度付き&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;CNAME&lt;/strong&gt;：別のドメインを指すエイリアス&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;TXT&lt;/strong&gt;：テキストレコード、SPF、DKIM、ドメイン確認に使用&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;NS&lt;/strong&gt;：ドメインの権威ネームサーバー&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;mac-の-nslookupおなじみの出発点&#34;&gt;Mac の nslookup：おなじみの出発点&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;nslookup&lt;/code&gt; はほとんどの人が最初に使うコマンドです。すべてのオペレーティングシステムに存在するため、どこかで DNS ルックアップを行ったことがあれば構文が馴染みやすいです。&lt;/p&gt;&#xA;&lt;h3 id=&#34;基本的な-a-レコードの検索&#34;&gt;基本的な A レコードの検索&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;nslookup google.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;出力には答えた DNS サーバーと IP アドレスが表示されます。「Non-authoritative answer」という行は結果がドメイン自体のネームサーバーではなくキャッシュから来ていることを意味します。これは正常です。&lt;/p&gt;&#xA;&lt;h3 id=&#34;特定のレコードタイプを検索&#34;&gt;特定のレコードタイプを検索&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;nslookup -type&lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt;MX google.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;MX&lt;/code&gt; を任意のレコードタイプに置き換えてください：&lt;code&gt;A&lt;/code&gt;、&lt;code&gt;AAAA&lt;/code&gt;、&lt;code&gt;CNAME&lt;/code&gt;、&lt;code&gt;TXT&lt;/code&gt;、&lt;code&gt;NS&lt;/code&gt;、&lt;code&gt;SOA&lt;/code&gt;。例えば、メールのトラブルシューティングのために SPF と DKIM を確認する場合：&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
