Dramsuko_wiki
Network
目次
サブネットマスク †
サブネットマスク計算サイト †
サブネットマスク、仕組み †
サブネットマスクの算出方法 | CIDR表記 | 10進数表記 | 2進数表記 | /24 | 255.255.255.0 | 11111111.11111111.11111111.00000000 | /25 | 255.255.255.128 | 11111111.11111111.11111111.10000000 | /26 | 255.255.255.192 | 11111111.11111111.11111111.11000000 | /27 | 255.255.255.224 | 11111111.11111111.11111111.11100000 | /28 | 255.255.255.240 | 11111111.11111111.11111111.11110000 | /29 | 255.255.255.248 | 11111111.11111111.11111111.11111000 | /30 | 255.255.255.252 | 11111111.11111111.11111111.11111100 | /31 | 255.255.255.254 | 11111111.11111111.11111111.11111110 | /32 | 255.255.255.255 | 11111111.11111111.11111111.11111111 |
OSI(Open System Interconnection)参照モデル,TCP/IP †
層 | 例・その他 | IP suite | AppleTalk? suite | TCP/IP | No | 名称 | 7 | アプリケーション層 | | | | アプリケーション層 | 6 | プレゼンテーション層 | | | | 5 | セッション層 | | | | 4 | トランスポート層 | | | | トランスポート層(L4) | 3 | ネットワーク層 | | | | インターネット層(L3) | 2 | データリンク層 | | | | リンク層(L1/L2) | 1 | 物理層 | RS-232C 100BASE=TX | | |
語句 †
- IP(Internet Protocol)
- TCP(Transmission Control Protocol)
- ARP(Address Resolution Protocol)
- MAC Addressを知るためのプロトコル
- IP に対応するMACアドレスをARPにより解決する。
- ルーターではイーサネットヘッダを順次付与していく
- ICMP(Internet Control Message Protocol)
パケット・キャプチャ †
ソフト †
- Wireshark
- Microsoft Message Analyzer
- PacMon?
キャプチャーする場所 †
PCでキャプチャー †
- PCに届いたパケットをストレージに保存していくこと。
- 保存したデータ
パケット解析 †
- キャプチャーデータに対して行う
- 可能なら保存したデータで行う方が望ましい
- キャプチャーはパソコンにかかる負荷が大きく、
解析しながらだとパケットを取りこぼす恐れがある
- Tshark
- コマンドラインで実行できるパケットキャプチャーソフト
- 軽い
- 1Gbps を超える様ならTSharkが望ましい
LANケーブルに流れるパケットのキャプチャー †
- リンクを分岐してPCで取り込む
- この方法はできない
- 自分宛以外のパケットを受け取れないため
- LANケーブルは分岐できる構造にない
- どうしても行うためには、
- 「プロミスキャスモード」で動くネットワーク処理プログラム
- プロミスキャスモード
- NICに届いたすべてのパケットをパケットキャプチャーソフトに転送する
- ソフト名:Npcap (Wiresharkに入ってる)
分岐 †
- ミラーリング, フラッディング機能を持つスイッチを使うことで解決
(普通のスイッチでできる)
- ミラーリング
- ユーザーが指定したポートの通信を特定のポートにコピーする機能
- フラッティング
- スイッチのどのポートに届いたパケットもすべてのポートに転送する機能
取り込みたいパケットを考える †
- どこでパケットキャプチャーを実行すべきか
- パケットキャプチャーソフトをインストールできるか
- 例
- パケットキャプチャーソフトをインストールできる
- パケットキャプチャーソフトをインストールできない
- PC AにつながっているL2スイッチで分岐する
- 徐々に上流に上がって分岐する
フィルター(Wireshark) †
Wireshark(使い方とインストール) †
- 対応プラットフォーム
- 無償
- 前身は「Ethereal(イーサリアル)」
- 2019年2月 Ver 3.0.0
- Install
- 全てデフォルトのままでOK
- Npcap も一緒にインストールしておく
(デフォルトのままでインストールする)
基本的な使い方 †
- インターフェースの選択
- 右側の折れ線グラフがトラフィックの状況
- ダブルクリックで選択するとキャプチャが開始される
- キャプチャの解析は一旦セーブしてから行うと良い
- ボタン(左から)
- キャプチャーの開始
- キャプチャーの停止
- キャプチャーのやり直し
- オプション設定画面の表示
- ファイルを開く
- セーブする
- 閉じる
- 読み直す
- 3つの画面領域(上から)
- パケットリスト
- キャプチャー開始後、パケットの情報が1行ずつ追加されていく
- 項目(左から)
- 時間
- 送信元/宛先
- プロトコル
- パケット長
- 概要
- パケットディテール
- パケットバイト
フィルター †
- よく使う条件式
- ip.addr == 192.168.0.1
- tcp.port == 80
- ip.addr == 192.168.0.1 and tcp.port == 80
- ip.src == 192.168.0.1 and ip.dst==192.168.0.254
- !(ip.addr==192.168.0.1)
- プロトコル名(arp, http, dhcp 等)
https 通信で暗号化方式の違いを確認する例 †
- TSL1.2 と 1.3 では、TLS1.2 の方が通信が多い
- 手順
- Wiresharkを起動し、キャプチャーを開始
- ブラウザでhttpsサイトへアクセス
- キャプチャーの終了。保存
- 対象のIPアドレスでフィルター
- 例
ip.addr==123.123.123.123
- パケット・ディテールは畳まれているため、
クリックすると開ける
3ウェイハンドシェークの確認 †
TCPのシーケンス(流れ) †
- コネクションの確立
- データのやり取り
- コネクションの終了
- コネクションが確立してからデータのやり取りが始まる。
- データのやり取りが終わるとコネクションは終了する
語句 †
- コネクション
- ハンドシェーク
- コネクションを確立するために通信相手とやりとりすること
- 3ウェイハンドシェーク
- コネクションを確立するために、通信を開始する機器と送信相手の間でパケットを3回やり取りする。
3ウェイハンドシェイク †
- 「通信を開始する機器」が
SYN(同期を表す)というTCPパケットを
通信相手に送る
- 「通信相手」は、
「SYN」と「ACK(承諾を表す)」を
送信元に返す
- 「通信を開始した機器」が、
「SYN」,「ACK」のTCPパケットを受け取ったら
通信相手に
ACKのTCPパケットを送る。
WireShark?で確認 †
- どこかにアクセスする(httpとかWeb」とか)
- キャプチャーを取り保存する。
- 保存したファイルをWireShark?で開く。
- tcp などでフィルター
- さらに IP address と組み合わせてフィルター
- 「SYN」,「SYN,ACK」,「ACK」の確認
IPv6 †
- まだ自分もちゃんと理解できてません。以下の内容は間違えている可能性があります
- IPの決め方
- 手動設定方法
IPv6の基本 †
参考サイト †
IPのパターン数 †
- IPv4(32ビット): 約40億
- IPv6(128ビット): 約300×1兆×1兆
表記方法 †
- 1桁16進数で表記する。(0〜F)
- これにより16bitを4桁で表記する。
- 128bitは、16bit * 8
- ブロックは 16bit(4桁) * 8個
- デリミッターはコロン「:」
- 0は省略できる。
- 先頭の0は省略できる。
- それ以外にも以下の通り省略可能。
- fe80::ea07
- さらにわかりやすく書くと(6桁区切り)
- = fe80:0:0:0 : 0:0:0:ea07
- 2桁区切り
- = fe80:0 : 0:0 : 0:0 : 0:ea07
- ただし2回は省略できない。
マスク †
特殊IPアドレス †
- ローカルアドレス(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
- マルチキャスト
- ff00:/8
- ff01::(ノードローカル)
- ff02::(リンクローカル)
- ff05::(サイトローカル)
- ff0e::(グローバル)
- グローバル
- ドキュメント用
- リンクローカル
名前解決正引き(A record) †
ループバック(127.0.0.1) †
ネットワークレイヤー(L3) †
- IPv6はL3領域。
- L2 スイッチは影響を受けない
- L3 スイッチやルーターは影響を受ける
各種利用できるアドレス名 †
グローバル | GUA グローバル・スコープ・マルチキャスト | 2000::/3
ff0e:: | GUA(Global Unicast Address)。 インターネット上で通信が許可されているIPアドレス
グローバル・スコープ・マルチキャスト インターネット上で使用できるマルチキャスト | サイト | GUA グローバル・スコープ・マルチキャスト ULA サイト・スコープ・マルチキャスト | fc00::/7
ff05:: | ULA(Unique Local Address) インターネット上では使用できない | リンク | GUA グローバル・スコープ・マルチキャスト ULA サイト・スコープ・マルチキャスト リンク・ローカル・アドレス(LLA) リンク・スコープ・マルチキャスト | fe80::/64
ff02:: | リンク・ローカル・アドレス: リンク内部でユニーク。 リンクを超えた通信はできない。サイト内部での重複はOK | ノード | GUA グローバル・スコープ・マルチキャスト ULA サイト・スコープ・マルチキャスト リンク・ローカル・アドレス(LLA) リンク・スコープ・マルチキャスト ループバック・アドレス ノード・スコープ・マルチキャスト | ::1
ff01:: | ノード内部でのみ使用。ノードの外に出ることは無い |
3種類のIPv6アドレス †
- ユニキャスト・アドレス
- 1対1の双方向通信。大半のデータはユニキャスト・アドレスを使用。
スコープ | 呼称 | IPv6アドレス | グローバル | GUA | 2000::/3 | サイト | ULA | fc00::/7 | リンク | リンクローカルアドレス | fe80::/10 | ノード | ループバック | ::1/128 |
- マルチキャスト
- 1対多
- ストリーミングなど。
スコープ | 呼称 | IPv6アドレス | グローバル | グローバル・スコープ・マルチキャスト | ff0e:: | サイト | サイト・スコープ・マルチキャスト | ff05:: | リンク | リンク・スコープ・マルチキャスト | ff02:: | ノード | ノード・スコープ・マルチキャスト | ff01:: |
- エニーキャスト
クライアントへの設定可能数 †
- IPv4 : 1NIC -> 1 アドレス
- IPv6 : 1NIC -> 複数アドレス
わかってきた選択肢 †
- 以下、さらに間違えている可能性大。あとで追記や修正します
- 一番簡単なのは、プロバイダから与えられてる固定IP(Global IP)で、内側のサーバーも作ってしまうこと
- メリット
- デメリット
- プロバイダを変更した時、内部のサーバーにも影響する
- ULA(Unique Local Address)を使う
- メリット
- デメリット
- NetworkManager?が使えなくなるので、IPv6にしたときに~各サーバーの設定を変更する必要がある。
- ファイアウォール関連は設計、設定しなおし
- うちは設定、監視システムを内製のプログラムで自動処理してるのでちょっとめんどい。。。
- まずはサーバーを置いといて、クライアントから対応させよう。。。
- DHCPv6問題
前提となる構成 †
やったこと †
nslookup IPv6 †
ping6 で「無効な引数です」と表示される。 †
|