“Fing"のご紹介です。Fingのポートスキャンの動作とは?ホームネットワークあるある我が家はホームネットワークに、たくさんの機器がつながっており、WiFiルーターを経由して光回線(FTTH)でインターネットに接続しています。そんなたくさんの機器がつながる場合の「ホームネットワークあるある」と言えば、ネットワーク上の機器が見つけられないという問題です。リビングのパソコンから、書斎にあるネットワークプリンターに印刷しようと思ったけどIPアドレス何番だっけ?ということが起こります。ネットワークプリンターなら書斎まで行って小さな液晶の設定画面を見れば、DHCPで割り当てられたIPアドレスが表示されているかも知れません。セキュリティ・カメラなどのように設定画面が物理的にない機器もあります。そんな時は、セキュリティ・カメラのIPアドレスを知らないと、カメラが持つWebベースの設定画面を開きたくても開けない、なんてことが起こります。ちなみに、IPアドレスやポート番号がわからない、詳しく知りたい、という方は「家」アナロジーで判りやすく説明する記事を書いていますので、こちらをご覧ください。Protocol)と呼ばれるプロトコルによって、機器にIPアドレスが自動で振られるからです。通常、ホームネットワークでは、DHCPのサーバーとなるのは、WiFiルーター(ホームルーター)です。いうことは、WiFiルーターの管理画面をみると、DCHPサーバーの割り当てたアドレスと、相手機器の情報が表示される可能性があります。ここは、ルーターの管理画面の仕様によります。表示機能を持たないルーターもあります。わが家のホームルーターは、NTTフレッツ光の光ルーター「PR-S300SE」です。このルーターの管理画面では、「DHCPv4サーバ払い出し状況」というページがあります。ここに以下のように、ホームネットワークにつながる機器に対して、ルーターが割り当てたIPアドレスの一覧を得ることができます。PR-S300SE-DHCP払い出し状況このルーターの場合は、機器のMACアドレスを表示しています。(上図で、赤く塗りつぶしている領域)MACアドレスは、機器固有のアドレスです。ネットワーク機器製造者が製造した機器に固有のIDを振って出荷します。MACアドレスの中には機器を特定する番号が含まれます。世の中には、MACアドレスから製造者を特定してくれるサービス(UIC)があります。いったものを使うと、IPアドレスが割り当てられた機器が、例えば、MACアドレスがApple製とわかったら、「あ、192.168.1.11は奥さまのiPhoneだな!」という事がわかる、という訳です。このような一覧を表示するのは、先程も言ったようにルーターの仕様によります。設定画面のエミュレーター)では(頑張って?)機器の名前を表示してくれたりします。これだと一発で、機器に対するIPアドレスがわかるので便利ですね。IPアドレスだけを表示してMACアドレスを表示しないようなルーターの場合には、もっと困ります。その場合はどうするのでしょう?例えば、事前に機器に「Webブラウザで表示できる管理画面があることがわかっている」場合においては、http://192.168.1.x/みたいなアドレスを、一覧にある全てのIPアドレスに対してパソコンのブラウザからアクセスしてみて、当該ページが開けるかどうか一つ一つ調べる、という方法が考えられます。原始的でアナログですね。機器が増えるとかなり大変な作業です。)」が参考になります。意外と大変な機器のIPアドレス探し。技術的にはさまざまな検出の工夫があり、一般にネットワーク上で特定の機器を探すことを「Discovery(ディスカバリ)」と呼んだりします。IoT機器の代表格であるHueスマート電球では、「ブリッジ」と呼ばれる機器のIPアドレスを探す仕組みが色々と用意されていてます。【解説】スマート電球HueのAPIをNodejsで呼び出してみた!プログラムからHueを操作すこんにちは!しずかなかずしです。...https://shizuka-na-kazushi.style/2018/12/24/hueスマート電球...この記事にあるように、技術的にはDiscoveryを行う方法がいくつか存在します。protocol)と呼ばれるプロトコルを使って検出する方法。機器が定期的にクラウドの特定サーバーに自分のIPアドレスを通知しておき、知りたいクライアントが、特定サーバーにアクセスして検出する方法(Hueでは、N-UPnPと呼んでいる)。呼ばれるプロトコルを使う方法、などいくつかの仕組み・プロトコルを使ってなんとか、ホームネットワーク上で機器を探そうという訳なのです。結局機器が上記のような仕組みをサポートしているかどうかによってIPアドレスを見つけられるかどうかが決まってしまいます。簡単に言うと、例えば、SSDPのプロトコルの呼び出しに答えない(SSDPをサポートしていない)機器はIPアドレスを知ることができない、ということなのです。Amazon調べ-詳細)Amazon楽天市場Yahooショッピングあきれるほど便利なFing登場!そんな庶民の悩みを解決してくれるすごいアプリにめぐり逢いました。それが、Fing(フィング)です。ホームネットワークにつながるスマホにこのアプリをインストール。スキャンボタンを押すと数秒の後に、ホームネットワークにつながる全ての機器の一覧を表示してくれます。Tabletや、Television、プリンターの名前、スマホの名前なども一覧で表示、全ての機器の名前とIPアドレスがセットで手元に簡単に入手できる、という訳です。スクリーンショット(機器一覧)機器を選んで詳細画面に進むと、さらに詳しい情報が得られます。その機器が開いているポートを確認できます。いわゆる「ポートスキャン」ですね。上記の例は、Brotherのプリンターの画面です。この画面で、「開いているポートをみつける」(赤丸を付けたボタン)を押すと、ポートスキャンが始まり、下図の通り。プリンターが開いている待受ポート(サーバーのポート番号)が一覧表示されます。lpd,...など)。これは、何か機器とデータのやり取りをした結果を解析しているのでしょうか??Fingのポートスキャンの動作が気になって、思わず調べてみました。nodejsのちょうどいいTCPのサーバープログラムがあったので、試してみます。サーバも少ない行数で作ることができます。...https://blog.mitsuruog.info/2012/10/nodejstcpホームネットワークに接続されているUbuntuのパソコン上でtcp-server.jsというファイルに上記のサイトのサーバープログラムをコピペして動かします。TCPサーバーでポートスキャンを待つつまり、7002ポートにアクセスして、すぐ切る、という動作ですね。データのやり取りがあれば、別な表示が出るはずですが、それがないので、「ポートを開いて閉じる」という単純動作を機器の全てのポートに対して実行している、という感じです。port(ウェルノウンポート)」などのプロトコルを表示しているだけのようです。マニアックな確認でした。ちなみに、ポート番号について理解を深めたい方は、「家」アナロジーで説明した以下の以前の投稿記事を参考にしてみて下さい。賃貸物件のゴミ置き場。...自宅サーバのルーター設定はUPnPでポート開放。10版を遅延なく使う接続方法。して声が遅れるの?自宅のネットワークでIPアドレスを固定する方法。しくみを基礎から理解しようTP-LinkルータのDMZで自宅サーバーのポート開放!セキュリティーに注意して使い分け20年近く使っているGE冷蔵庫が復活した!これはまだまだ使えるぞ〜AndroidスマホからAirScreenへのキャストする方法。自宅サーバのルーター設定はUPnPでポート開放。「家」アナロジーで解説!最新のAirScreenで画面をキャスト。相性バツグン!世界一シンプル!drag&dropでファイルアップロードする。free".ホームメニューSNS上へ。