タグ「調査」が付けられているもの

固定IPを使用するLANの中で、今どのIPアドレスが空いているか適当にpingを打ってみることがありますが、連続して応答が返ってくるとちょっと疲れます。1~254まで全部手動で行うのは面倒なので、コマンドの例を探したらありましたのでメモ。

コマンドプロンプトの例

例えば、192.168.0.2~192.168.0.10を調べる場合

指定した範囲でpingarpを連続で打つコマンドです。

for /l %i in (2,1,10) do ping -w 1 -n 1 192.168.0.%i && arp -a 192.168.0.%i

最初の(2,1,10)は変数「%i」を2から10まで1ずつ加算していくことを表しています。

結果のログをテキストファイルで残す場合

コマンドの後ろに>> result.txtなど任意のファイル名を記載します。

for /l %i in (2,1,254) do ping -w 1 -n 1 192.168.0.%i && arp -a 192.168.0.%i >> result.txt

上記のようにファイル名のみ指定すると、ファイルの保存先はコマンドを実行したディレクトリに保存されます。(ほとんどの場合、ユーザーフォルダ)

分かりやすい場所に保存する場合はd:\result.txtなど、任意のディレクトリに変更します。

バッチファイルを作る場合

このコマンドをバッチファイルにする場合は、3カ所ある「%i」「%%i」にして「.bat」の拡張子を付けた名前で保存します。

for /l %%i in (2,1,254) do ping -w 1 -n 1 192.168.0.%%i && arp -a 192.168.0.%%i >> result.txt

結果について

応答があったもののみがテキストファイルに出力されていますので、ここにないIPアドレスが空いているということになりますが、たまたま電源が入っていない機器も含まれるので注意が必要です。

PowerShellのスクリプトの例

こちらはPowerShell192.168.0.1~192.168.0.255まで連続でpingを送信するスクリプトです。以下のスクリプトをPowerShellに貼り付けるか、メモ帳で「.ps1」という拡張子を付けて保存します。

$date = Get-Date -Format _yyyy_MMdd_HHmmss
for ($i = 1; $i -lt 255; $i++) {
        ping 192.168.0.$i >> pinglog$date.txt
}

実行すると、実行結果の入ったテキストファイルが「pinglog_2016_1127_092028.txt」のようなファイル名で実行ディレクトリに保存されます。

Adaptec ASR-7805(RAIDカード)を購入し、ベンチマークの数値が思ったより低かったので、「これはおかしい。きっとPCI ExppressがGen3で動いてないかも?」と調べてみることにしました。(実際はRAIDカードのキャッシュが無効になってただけでしたが...。)

PCI Expressの動作状況を確認するためにハードウェアの状況を確認できるフリースソフトで有名なCPU-ZSpeccyで見ましたがよくわからず...。

他に探してみるとHWiNFOというフリーソフトを見つけました。

HWiNFOは32ビット版と64ビット版があり、インストールしなくても使えるポータブル版もあるので便利そうです。

起動したGUIはビジュアル的にCPU-ZSpeccyと似たような感じですが、HWiNFOはより詳しくわかる感じです。

HWiNFO

で、実際にどのPCI Expressスロットに何のカードが挿してあるのか、また動作はx16、x8、x4、x1のどれなのか状況を詳しく確認してみました。GUIでも確認できるのですが、テキストを書き出して確認してみました。

PCI Express x8 Bus #2 -----------------------------------------------------

Adaptec ASR-7805 8 Internal 6G SAS Ports PCIe 3.0 RAID Adapter ------------
[General Information]
  Device Name:                            Adaptec ASR-7805 8 Internal 6G SAS Ports PCIe 3.0 RAID Adapter
  Original Device Name:                   Adaptec ASR-7000 Series 6G SAS PCIe 3.0 RAID Adapter
  Device Class:                           RAID controller
  Revision ID:                            1
  Bus Number:                             2
  Device Number:                          0
  Function Number:                        0
  PCI Latency Timer:                      0
  Hardware ID:                            PCI\VEN_9005&DEV_028C&SUBSYS_05009005&REV_01
  [PCI Express]
  Version:                                3.0
  Maximum Link Width:                     8x
  Current Link Width:                     8x
  Maximum Link Speed:                     8.0 Gb/s
  Current Link Speed:                     8.0 Gb/s
  Device/Port Type:                       PCI Express Endpoint
  Slot Implemented:                       No
  Active State Power Management (ASPM) Support: None
  Active State Power Management (ASPM) Status: Disabled
  [System Resources]
  Interrupt Line:                         N/A
  Interrupt Pin:                          INTA#
  Memory Base Address 0                   F7C00000
  Memory Base Address 2                   F7D80000
  I/O Base Address 4                      E000
  [Features]
  Bus Mastering:                          Enabled
  Running At 66 MHz:                      Not Capable
  Fast Back-to-Back Transactions:         Not Capable
  [Driver Information]
  Driver Manufacturer:                    Adaptec
  Driver Description:                     Adaptec RAID 7805/7805Q
  Driver Provider:                        Adaptec
  Driver Version:                         7.5.0.32028
  Driver Date:                            13-Jun-2014
  DeviceInstanceId                        PCI\VEN_9005&DEV_028C&SUBSYS_05009005&REV_01\4&12B449C0&0&0009

以上が実際に書き出したテキストの一部ですが、Adaptec ASR-7805(RAIDカード)の部分でCurrent Link Width:8xになっているので、x8のカードがちゃんとx8で動いていることがここからわかります。 Version: 3.0なのでPCI Express Gen3になっているのも分かりました。

あるサイトをあるキーワードでGoogle検索すると「このサイトはコンピュータに損害を与える可能性があります。 」との注意文が検索結果に表示されているのでどうにかして欲しいと僕に相談の連絡が入りました。

検索の結果をクリックすると以下の文章。

警告- このウェブサイトにアクセスすると、コンピュータに損害が生じる可能性があります。

検索のヒント: 前のページに戻って、他の検索結果を選んでください。

別のキーワードで検索してみてください。 または、ご自身の責任のもとで http://www.*****.com/ にアクセスできます。

見つかった問題の詳細については、Google が提供するこのサイトのセーフ ブラウジング診断ページをご覧ください。

不正なオンライン ソフトウェアから保護する方法については、StopBadware.org をご覧ください。 サイトの管理者である場合は、Google のウェブマスター ツールを使用して、サイトの再審査を依頼できます。審査プロセスの詳細については、Google のウェブマスター ヘルプ センターをご覧ください。

 

文章中の「セーフ ブラウジング診断ページ(http://www.google.com/safebrowsing/diagnostic?site=http://www.*****.com/&hl=ja)をクリックすると以下の文章が現れた。

セーフ ブラウジング

診断ページ: http://www.*****.com/

http://www.*****.com/ の現在の状況

疑わしいサイトとして認識されています。このウェブサイトにアクセスするとコンピュータに損害を与える可能性があります。

過去 90 日間に、このサイトの一部で不審な動きが 3 回検出されています。

Google がこのサイトを巡回したときの状況

このサイトで過去 90 日間に Google がテストした 6 ページのうち 6 ページで、ユーザーの同意なしに不正なソフトウェアがダウンロードされ、インストールされていたことが判明しました。Google が最後にこのサイトを巡回したのは 2012-05-24 で、このサイトで不審なコンテンツが最後に検出されたのは 2012-05-24 です。

このサイトは 1 個のネットワーク(AS2514 (INFOSPHERE) など)でホストされていたことが判明しました。

不正なソフトの感染を広げる媒介をしていたかどうか

過去 90 日間に http://www.*****.com/ が他サイトへの感染媒体となっていた形跡はありません。

サイトで不正なソフトウェアをホストしていたかどうか

いいえ、このサイトでは過去 90 日間に不正なソフトウェアのホスティングは検出されていません。

原因

第三者が正当なサイトに不正なコードを追加したことが原因で、警告メッセージが表示される可能性があります。

次のステップ:

いろいろ検索してみると、原因は「ウィルス感染」によるサイトの改ざんでした!

どうやらパソコンの脆弱性をついて、ウィルスに感染したパソコンからサイトのFTPアカウントとパスワードを盗み出したり、サイトに攻撃をしかけたりして、不正なコードを書き込んでいくようです。

 

調査方法

サイトがウィルスに感染していたり、不正なコードが書き込まれていないか「gredでチェック」で検査したいURLを入力すると調べることができます。

実際に検索すると以下のように、改ざん(感染)しまくっていました。

 

対処方法

まず、FTPのパスワードが漏洩している可能性があるので、ウィルスに感染していないパソコンでパスワードを変更。

ウィルス感染で改ざんされた疑いのある該当のファイルを開いてみると、なんかおかしなコードがありました。(おかしなコードのみを抜粋して掲載しています。)

この部分を削除して再検査をしてみると「安全です」になりました。

ただ、検索結果には依然と「このサイトはコンピュータに損害を与える可能性があります。」と警告が出たままになっているので、Google ウェブマスターツールに審査リクエストをする必要があります。