新ネットワークスペシャリスト道

ネットワーク、セキュリティ、何の話?

【ネットワーク解決】ネットワークトラブルのフローチャート(Windows版)

ネットワークトラブルで問題解決のフローチャート(文章のみ)を作成しました。
如何に迅速に解決するかがみそですからね。
きれいにレイヤ順にしたかったのですが、いまいち順番になっていませんが。

フローチャート

①ネットワーク設定が無効になっていないか

 【確認方法】
ifconfig  ⇒ ネットワーク情報が表示されない場合は無効になっている

②PING /t をルータ(ハブ)に実行してスイッチのポートが点滅するか

③宛先MACアドレスが取得できているか(ICMP応答を拒否しているPCの場合)
 ARPキャッシュ メモリ上に一定時間保持される。WindowsOSは2分間保持
 以下コマンドにて、PING応答がなくともARPテーブルに残っていたら宛先NICまで到達はできている
 【確認方法】
  arp -d * ⇒ ping IPアドレス ⇒ arp -a
 【備考】レイヤ2スイッチはMACアドレステーブルは3分間情報保持

④レイヤー3 PING応答
 //ネットワーク設定ができているか
 PING 自分のIPアドレス

 //DNSサーバへの通信ができるか
 PING DNSのIPアドレス

 //ゲートウェイへの通信ができるか
 PING デフォルトゲートウェイのIPアドレス
⑤レイヤー4 宛先のアプリケーションポートに到達できるか
⑥レイヤー5以降 IPアドレス、ポート、実行プログラムの調査

詳細

各レイヤ毎の確認方法を記載します。

レイヤー3 PING

・WindowsのPING  ICMPのPING
・psping.exe   ICMPではないPING
 PsPing - Sysinternals | Microsoft Learn

 ICMP がブロックされている場合に有効

・PINGエラー一覧
「要求がタイムアウトしました」
 相手から応答がない場合に表示される。
 割当されていないIPアドレスにPINGしたときに表示される。
「宛先ネットワークに到達できません」
 ・タイプ3/コード0 Network Unreachable
  ルーティングエントリがない場合
 ・タイプ3/コード13 Communication administratively prohibited by filtering
  ルータやファイヤーウォールのフィルタリングルールによるパケット拒否の場合 
「宛先ホストに到達できません」
 ・タイプ3/コード1 Host Unreachable
  ルーティングエントリは存在するが、ネクストホップが動作していない場合


■Ping Sweep 指定アドレス範囲にPING実行、実行端末が分かる
nmap -sn -PE 192.168.0.0/24

 

レイヤー3 Tracert

PINGと同じICMPプロトコルを使用しているTracertコマンドについてまとめます。

【Windows】
・コマンド名 tracert
・使用プロトコル ICMP

途中からずっとアスタリスクが表示され、30番目まで到達してしまう場合は、途中からTTL expired が戻ってきてないことを意味

 

レイヤー4以上

接続元から確認

■Powershell
Test-NetConnection -ComputerName [コンピュータ名] -Port [ポート番号]   
Test-NetConnection -ComputerName 192.168.24.20 -Port 22


Test-NetConnection -ComputerName [コンピュータ名] -CommonTCPPort [HTTP,RDP,SMB,WINRM]
例 Test-NetConnection -ComputerName 192.168.24.20 -CommonTCPPort http


■コマンドプロンプト
 telnet IPアドレス ポート番号

  '文字が表示されるようになる
  set localecho
  ・画面がクリアされたら接続OK

■portqry
 portqry -n IPアドレス -e ポート番号 -p UDP
 「TCP」「UDP」のポート確認可能
 https://www.microsoft.com/en-us/download/confirmation.aspx?id=17148

■nmap
 ZenmapはGUIでコマンドを打つことが可能

受け手(接続先)から確認

■コマンドプロンプト

IPアドレスがどのポートを使用しているか特定
 netstat -ano | findstr 該当IPアドレス

  a-> すべての接続を表示する。

  o-> PIDを表示する。

  n-> アドレスとポート番号を数値形式で表示する。

 netstat -anbp tcp  | findstr 該当IPアドレス

■Powershell

 netstat -ano | Select-String 該当IPアドレス

 

レイヤー5

プロセス確認

・PID(プロセスID)からexeを特定
 ①PIDを特定
  netstat -nao | find "port番号"
 ②PIDよりEXE
  tasklist /svc | findstr PIDナンバー
  tasklist /fi "pid eq PIDナンバー"
 ③PIDよりEXE
  taskkill /F /PID PIDナンバー
・接続に使用されたEXEを特定
 netstat -anb

・IPアドレスとポートと使用プログラム表示
 Ping Sweep 指定アドレス範囲にPING実行、実行端末表示
  nmap -sn -PE 192.168.0.0/24
 Port Sweep ポートスキャン
  nmap -sV -O IPアドレス
  「OPEN」・・・そのポートがLISTEN中
  「CLOSE」・・・そのポートが開いているが待ち受けしているPGがない状態
  Not shown: 998 filtered ports・・・998ポートが閉じられているという意味

名前解決

■nslookup

DNSキャッシュ削除
 ipconfig /flushdns

DNSキャッシュ表示
 ipconfig /displaydns

正引き
 nslookup hostName [DNSサーバ]

逆引き
 nslookup ipaddress [DNSサーバ]

ドメインへ名前解決

サブドメインへ名前解決

■NetBIOS

 リモートキャッシュネームテーブル表示
 nbtstat -c

 

その他

■Windowsネットワーク接続の表示
「識別されていないネットワーク」 デフォルトゲートウェイが設定されていないときに表示される。

■マルチホーム環境
複数NIC環境のこと

■ネットワークの鉄則
 デフォルトゲートウェイを2つ以上設定してはいけない
 デフォルトゲートウェイは自分が所属していないネットワークに向かって通信するときにパケットを投げる相手

■IPアドレスが返される順番

https://blogs.msdn.microsoft.com/japan_platform_sdkwindows_sdk_support_team_blog/2015/01/08/api-ipv4-300/

 

参考文献