VBScriptでIP(IPv4)を取得するソース

あらすじ

VBScriptを使ってIPを取ってこないといけなくなりそうなので書いてみました。
動作はWindows 10 Homeでは確認済み。

ソースコード

' IP取得関数
' 引数: なし
' 戻り値: IP(オクテットごとに分けられたサイズ4の配列) の配列
Function getIpAddress()
   ' 戻り値用変数
    Dim ipAddressList

   ' 変数を動的配列にする
    Set ipAddressList = CreateObject("System.Collections.ArrayList")

   ' IPを調べたいホストの名前
    Const strComputer = "."

   ' WMIオブジェクトを取得
    Set wmiService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

   ' ネットワークアダプタの情報を取得
    Set colItems = wmiService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IpEnabled=TRUE")

   ' ネットワークアダプタの情報からIPを取り出し、戻り値の配列に追加
    For Each item in colItems
        For Each ipAddress in item.IPAddress
            arrOctets = Split(ipAddress, ".")
            
            If (UBound(arrOctets) + 1) = 4 Then
               ' IPがIPv4の場合のみ追加する(IPv6はしない)
                ipAddressList.add arrOctets
            End If
        Next
    Next

   ' 戻り値は静的配列にする
    getIpAddress = ipAddressList.ToArray()
End Function

ipAddressList = getIpAddress()

Wscript.Echo (UBound(ipAddressList) + 1)
For Each ipAddress in ipAddressList
    Wscript.Echo "IP: " & Join(ipAddress)
Next

ネットワークスペシャリスト試験対策4

今週の学習内容

  • CSMA/CD方式
  • プリアンブル
  • CSMA/CA方式

CSMA/CD方式

通信ケーブルを使用している有線のイーサネットで採用されている通信制御方式です。

CSMAは通信路が使用されていなければ通信し、通信は全ての機器に対して行われることを意味しています。

CDは、通信の衝突を検知した場合、ランダムな時間待機して再送するという意味です。

プリアンブル

イーサネットでは、送られるフレームの前にプリアンブルという同期用のフィールドが付けられます。

1と0を交互に7オクテット分送信し、8オクテット目に「10101011」と末尾が1のフィールドを送り、
プリアンブル終了とします。

CSMA/CA方式

CSMA/CD方式の「衝突検知後ランダムな時間待機して再送」という箇所の代わりに、
「通信終了後にランダムな時間待機する」という処理を加えた方式です。

待機する時間をバックオフ制御時間と言います。

ネットワークスペシャリスト試験対策3

今週の学習内容

  • サーバのキャパシティ増強手段
  • 外部ストレージ
  • RAID
  • LAN間接続装置

サーバのキャパシティ増強手段

サーバへのアクセスが増加した際の、キャパシティ増強手段は大きく以下の二つに分かれます。

  • スケールアウト
  • スケールアップ

スケールアウト

サーバの台数を増やすことで、キャパシティを増やす方法です。

Webサーバなどで使用されます。

スケールアップ

メモリ増設やCPU交換などの、現在使用中のサーバ自体を増強する方法です。

二重化することで不具合が起こりやすいデータベースサーバなどで使用されます。

外部ストレージ

サーバが使用するストレージは、サーバ内のローカルストレージと、サーバ外にある外部ストレージがあります。

外部ストレージはには、以下の三つの形態があります。

DAS(Direct Attached Storage)

サーバとストレージを直接接続する形態です。

SAN(Storage Area Network)

サーバとストレージを接続するために、専用ネットワークを用いる方法です。

NAS(Network Attached Storage)

ファイル格納用のサーバをネットワークに接続し、外部からファイルを格納できるようにした形態です。

RAID

RAIDは複数のハードディスクを一つの記憶装置として扱う手法です。

RAID0

RAID0は、複数のハードディスクにデータを分散して格納することで高速化(ストライピング)しています。

RAID1

RAID1は、複数のハードディスクにデータを重複して格納(ミラーリング)することで信頼性を向上しています。

RAID3、RAID4

RAID3とRAID4は、一つのハードディスクをデータの誤り訂正用パリティ保存用にしています。 RAID3ではパリティをビットごとに生成しており、RAID4はブロックごとに生成しています。

RAID5

RAID5では、RAID4では一つのハードディスクに格納されていたパリティを、他の複数のハードディスクに分散しています。

LAN間接続装置

ネットワークを接続する装置から以下の四つについて記します。

リピータ

電気信号を増強・整形する装置です。

OSI基本参照モデル物理層で使用します。

ブリッジ

MACアドレスなどをもとに、通信を中継するか否か決める装置です。

OSI基本参照モデルデータリンク層で使用します。

ルータ

IPアドレスを元に、通信の中継先を決める装置です。

OSI基本参照モデルネットワーク層で使用します。

ゲートウェイ

OSI基本参照モデルトランスポート層以上で通信の中継が必要な際に使用します。

プロキシサーバやロードバランサー(負荷分散装置)などが該当します。

ネットワークスペシャリスト試験対策2

今週の学習内容

TCP/IPプロトコル

TCP/IPプロトコル群は、実際のアプリケーションで使われているTCPとIPを中核として作られたモデルです。

アプリケーション層、トランスポート層、インターネット層、ネットワークインタフェース層の4層からなります。

アプリケーション層

OSI基本参照モデルのセッション層以上と同じ役割が割り当てられています。

HTTP、FTPSMTPなどが該当します。

トランスポート層

OSI基本参照モデルトランスポート層と同じ役割が割り当てられています。

TCPUDPなどが該当します。

インターネット層

OSI基本参照モデルネットワーク層と同じ役割が割り当てられています。

代表的なプロトコルはIPです。

ネットワークインタフェース層

OSI基本参照モデルデータリンク層物理層に対応しています。

LANカードのドライバソフトウェアなどが該当します。

通信方式の種類

通信を行う際に、いくつかの通信方式を設定する必要があります。

今回は通信方式の中で、以下の三つについて記します。 + コネクション型とコネクションレス型 + LANとWAN + テキストデータとバイナリデータ

コネクション型とコネクションレス

通信する際に、通信者間にコネクションを張って信頼性を確保する通信をコネクション型と言います。

対して、コネクションをはらない通信をコネクションレス型と言います。

TCPコネクションレス型、UDPコネクションレス型です。

LANとWAN

LANとWANはネットワークの種類で、電気通信事業者が管理する必要の有無で区別されます。

WANは電気通信事業者が管理するネットワークで、一般的にLANを接続するために用いられます。

テキストデータとバイナリデータ

テキストデータとバイナリデータは、データの表現方式です。

文字で表せるデータをテキストデータ、画像などのそうでないものをバイナリデータと区別します。

サーバ

サーバは、クライアントサーバモデル形式のサービスを提供するコンピュータです。

サーバには、設置しやすいタワー型と、数が増えても場所を比較的占領しないラックマウント型があります。

この他に、電源やインタフェースを複数サーバで共有する、ブレード型サーバがあります。

ネットワークスペシャリスト試験対策1

勉強の始めに

今回の試験対策の勉強をする上で利用している参考書を書いておきます。

今週の学習内容

プロトコルとは

プロトコルとは、コンピュータ同士が通信するために必要なルールのことです。
プロトコルが同じであれば、どのようなコンピュータ間であっても通信できます。

現在は、異なるメーカのコンピュータ間でも通信できるように、プロトコルの標準化が行われています。
標準化する際に、国際標準化機構(ISO)が策定したものがOSI基本参照モデルです。

OSI基本参照モデル

OSI基本参照モデルでは、通信に必要なプロトコルを以下の七つの層に分けています。

  • 7層・アプリケーション層
    • 通信時にユーザが使うアプリケーション
  • 6層・プレゼンテーション層
    • データを通信しやすい形式に変換する
  • 5層・セッション層
    • コネクション(仮想的な通信路)の開始・終了の管理などを行う
  • 4層・トランスポート層
    • 通信の信頼性の確保などを行う
  • 3層・ネットワーク層
    • 通信に必要なルーティングを行う
  • 2層・データリンク層
    • 直接接続された通信機器間でデータが送受信されるように管理する
  • 1層・物理層
    • 物理的な接続の管理を行う