基礎からわかるTCP/IP ネットワーク実験プログラミング(第2版)

Front Cover
株式会社 オーム社, Oct 23, 2004 - Technology & Engineering - 378 pages

TCP/IPの動作メカニズムの詳細を理解するには、実際に動作を確認するためのプログラム作成し、解析することが最良の方法といえる。

この本では、IP、TCP、UDP、ICMP、IP(v6)などのヘッダを直接操作したり、生成するプログラムの作成をとおして、これらのプロトコルのもつ性質、メカニズムの本質を理解していく。

プログラムはC言語対応、OSは、FreeBSD、Linux対応。実験プログラムをとおしてプロトコルの詳細を学ぶのに最適の1冊

2001年8月に発行された初版を、現状に合わせて改訂し、第2版として発行するもの。


このような方におすすめ

プロトコルについてプログラムをとおして深く学習したい方、全般。

主要目次

第1章 TCP/IPプロトコルスタック入門

第2章 TCP/IPプロトコルとヘッダの構造

第3章 ソケット

第4章 パケットモニタリング実験

第5章 TCP/IP通信の識別

第6章 ARPの実験

第7章 IPとICMPの実験

第8章 TCPの実験

第9章 IPv6による通信実験

 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

forkとHTTP
162
第4章パケットモニタリング実験
163
41 パケットモニタリングの基礎知識
164
412 ハブとアドレス学習機能
165
413 Promiscuous無差別モード
166
42 データリンクアクセスインタフェース
168
422 Linuxのデータリンクアクセスインタフェース
169
423 BPFBSD Packet Filter
170

122 アドレスの変換処理と表
11
123 プロトコルスタックの内部処理
15
124 クライアントサーバモデル
18
13 プロトコルスタックの実現方法
19
132 システムコールと内部の処理
21
133 Raw IPとデータリンクアクセスインタフェース
24
134 多重化とバッファ
25
ネットワークに強くなるにはまずコンピュータから
28
第2章 TCPIPプロトコルとヘッダの構造
29
21 プロトコルヘッダと構造体
30
212 ヘッダと構造体とメモリ
32
213 ヘッダ構造とCの型
34
214 ビットフィールドフラグによるヘッダの処理
35
215 配列によるヘッダの処理
37
バッファオーバーフローの危険性
38
216 メモリの整列アライメント
39
Bus error
40
217 バイトオーダ
41
22 Ethernet
44
222 Ethernetのフレームフォーマットと構造体の定義
46
223 Ethernetの基本動作
47
MACアドレスとビットの順番
49
23 ARPAddress Resolution Protocol
50
233 ARPプロトコルの動作
53
24 IPInternet Protocol
56
243 ルーティングの基礎
60
244 IPフラグメント
63
245 IPフラグメントの問題点
65
246 経路MTU探索
66
25 ICMPInternet Control Message Protocol
67
252 ICMPエコー要求エコー応答メッセージ
68
253 ICMP到達不能メッセージ
69
254 ICMPリダイレクトメッセージ
72
255 ICMP時間超過メッセージ
75
256 共用体と実際のicmpパケット構造体
77
char id_data1の意味
79
26 UDPUser Datagram Protocol
80
27 TCPTransmission Control Protocol
81
272 TCPヘッダとヘッダ構造体について
82
273 TCPのコネクションの確立
84
274 TCPのコネクションの切断
86
275 TCPによる信頼性の提供
87
276 バッファサイズとウィンドウ
88
28 チェックサム
89
282 チェックサムのアルゴリズム
91
1の補数とは
92
283 チェックサム計算プログラム
93
1の補数で計算する理由
94
第3章ソケット
95
31 ソケットの概要
96
32 ソケットで利用される構造体
98
33 ソケットシステムコールによる処理の流れ
101
332 TCPによる通信の場合
103
34 ソケットシステムコールの詳細
106
342 コネクションレス
108
343 コネクション指向
110
344 ソケットオプション
114
345 DNS関連関数
115
346 ポート番号関連関数
116
347 IPアドレスを操作する関数
117
348 RawソケットRaw IP
118
349 selectシステムコールによる多重処理
119
35 UDPによる通信
121
352 実行例
123
353 処理の流れ
126
354 UDPサーバプログラムリスト
129
355 UDPサーバプログラムリストの解説
133
356 UDPクライアントプログラムリスト
134
357 UDPクライアントプログラムリストの解説
137
挑戦してみよう
138
36 TCPによる通信
139
362 実行例
140
363 処理の流れ
143
TCPプログラミングと対故障性への対策
147
364 TCPサーバプログラムリスト
148
365 TCPサーバプログラムリストの解説
153
TCPの制御機構とアプリケーションプログラム
154
挑戦してみよう簡易Webサーバを作ってみよう
155
366 TCPクライアントプログラムリスト
156
367 TCPクライアントプログラムリストの解説
160
認証と遠隔操作とセキュリティ
161
43 パケットモニタリングプログラム
171
432 ipdumpの使用方法
172
433 ipdumpプログラムの構造
174
435 ipdumpプログラムリスト
177
436 ipdumpプログラムリストの解説
195
挑戦してみよう
199
第5章 TCPIP通信の識別
201
51 IPアドレスとポート番号
202
512 無効なIPアドレスやポート番号への通信
204
513 ホストスキャンとポートスキャン
205
52 ホストスキャンプログラム
207
522 scanhostの使用方法
208
ルータの識別とマルチキャストアドレス
209
523 scanhostプログラムの構造と処理の流れ
210
524 scanhostプログラムリスト
213
525 scanhostプログラムリストの解説
218
53 TCPポートスキャンプログラム
219
532 scanport_tcpの使用方法
220
533 scanport_tcpの実行例
221
535 scanport_tcpプログラムリスト
223
536 scanport_tcpプログラムリストの解説
225
TCPポートスキャン
226
54 UDPポートスキャンプログラム
227
542 scanport_udpの使用方法
228
544 scanport_udpプログラムの処理の流れ
229
545 scanport_udpプログラムリスト
230
546 scanport_udpプログラムリストの解説
234
第6章 ARPの実験
239
61 ARPの詳細
240
612 同じIPアドレスのホストが2つあると何が起きるか
242
62 ARPを使用した実験プログラム
245
622 arpupdateの使用方法
247
623 arpupdateの実行例
248
624 arpupdateプログラムの構造と処理の流れ
254
625 arpupdateプログラムリスト
256
626 arpupdateプログラムリストの解説
266
挑戦してみよう
267
挑戦してみよう発展編
268
第7章 IPとICMPの実験
269
71 ルーティングテーブルと経路制御
270
72 redirectプログラム
272
723 redirectの実行例
274
ICMPとセキュリティ
277
724 redirectプログラムの処理の流れ
278
725 redirectプログラムリスト
279
726 redirectプログラムリストの解説
284
73 scanrouteプログラム
285
732 scanrouteの使用方法
287
734 scanrouteプログラムリスト
290
735 scanrouteプログラムリストの解説
296
挑戦してみよう
297
第8章 TCPの実験
299
81 TCPの詳細
300
812 状態遷移とコネクションの確立切断
302
82 TCP SYNプログラム
306
823 tcpsynの実行例
308
824 tcpsynプログラムの処理の流れ
310
825 tcpsynプログラムリスト
311
826 tcpsynプログラムリストの解説
316
83 TCP RSTプログラム
318
834 tcprstプログラムリスト
322
835 tcprstプログラムリストの解説
327
84 TCP JACKプログラム
328
844 tcpjackプログラムリスト
340
845 tcpjackプログラムリストの解説
345
挑戦してみよう
346
第9章 IPv6による通信実験
347
91 IPv6とは
348
913 IPv6のために追加された構造体
351
914 IPv6をサポートするために追加された関数
353
92 IPv6を使用した実験プログラム
356
922 使用方法
357
923 IPv6対応TCPサーバプログラムリスト
358
924 IPv6対応TCPサーバプログラムリストの解説
364
925 IPv6対応TCPクライアントプログラムリスト
365
926 IPv6対応TCPクライアントプログラムリストの解説
369
IPv6対応のUDPアプリケーションプログラミング
370
参考文献
371
索引
373
奥付
379

Other editions - View all

Common terms and phrases

About the author (2004)

村山公保(むらやま ゆきお)


1992年 東京学芸大学教育学部卒業

1992-94年 日本電気技術情報システム開発株式会社勤務

1998年 奈良先端科学技術大学院大学情報科学研究科博士後期課程修了

現 在 倉敷芸術科学大学大学院産業科学技術研究科計算機科学専攻教授、博士(工学)


一番の趣味はパソコンいじり。毎日10 台以上のコンピュータに囲まれて生活している。

Bibliographic information