リンク集・参考書籍

前へ << 関数一覧

web ページ

C言語によるUNIXネットワークプログラミング入門

簡潔にまとまっているが、その半面、わかってない人が読んでもわからないかも。 これと RFC を読むだけでプログラムが書ける人は、うちの web を読む必要はないとも言える。

UNIXネットワークプログラミングの簡単な解説

上と同様の評価。これと RFC を読むだけでプログラムが書ける人は、うちの web を読む必要はない。

UNIX Socket FAQ

UNIX+C言語でのソケットプログラミングについての FAQ を日本語訳したもの。 HTTP・FTP などのアプリケーションレベルでの話題でなく、より低レベルな TCP/IP についての話題を扱う。この web では物足りない人はぜひ読むべし。

Winsock Programmer's FAQ

Windows の TCP/IP スタックである Winsock の FAQ。細かいところで BSD 由来の TCP/IP スタックとは異なる部分があるので、Windows 使いの方はどうぞ。 なお、一つ上の UNIX Socket FAQ と、この Winsock Programmer's FAQ、いずれも 森 啓介さんという方が訳されています。ありがたいことです。感謝。

UNIX プログラミング FAQ

UNIX における C言語でのプログラミングについての FAQ を日本語訳したもの。 直接ネットワークプログラミングとは関係ない話題もあるが、 UNIX+C言語という環境を使っているなら、ぜひ読むべし。

elisp でのネットワークプログラム

elisp (Emacs Lisp) によるネットワークプログラミングについて。 Mew や Navi2ch など、Emacs 上で動作するネットワークプログラミングを書きたい場合はどうぞ。

Perl の数値変換 (ミケネコ研究所)

いくら使っても覚えられない perl の pack と unpack。 もう覚えようとするのはあきらめて、ここを見ることにしました。 2進変換も16進変換もこれでばっちり。

書籍

プログラミング Perl 第3版 VOLUME 1VOLUME 2

perl の作者らが書いた定番の本。第3版になって とうとう 2分冊になってしまった。perl5.6 対応。 「まだ perl-5.005_03 を使っているしなぁ」と思っている人も、 お金があまっているなら買ってみよう。 多くの Tips が追加されているが、かなりの部分は perl-5.005_03 でも使うことができる。 また、便利なモジュール一覧としてもなかなか使える。 当ページ管理者も、この本で得た知識は結構多い。

しかしもうちょっと短くならんもんかなぁ。

  • 著: Larry Wall (perlの作者)、Tom Christiansen、Jon Orwant
  • 訳: 近藤嘉雪
  • 発行所: オライリー・ジャパン
  • 定価: 5,300円+税 (VOLUME 1)、4,700円+税 (VOLUME 2)

Webクライアントプログラミング

perl を使った HTTP クライアント、LWP モジュールを 使った HTTP クライアント、Perl/Tk を使ったブラウザなどを順に作成していく。 HTTP1.1 についても詳細に説明されており、ヘッダ、レスポンスの一覧がある。 本気で HTTP クライアントやブラウザを作る気があるなら買っておいて損はないかもしれないが、 ちょっと中途半端な感あり。

  • 著: Clinton Wong
  • 訳: 法林浩之、須田隆久
  • 発行所: オライリー・ジャパン
  • 定価: 2,900円+税

UNIXネットワークプログラミング入門

C言語でソケットを使ったネットワークプログラミングを学ぶ。 あえて HTTP など既存のプロトコルには触れず、三目並べ、 レースゲームなどを作成しながら理解を深めていく。 クライアント・サーバの両方を自分で作成することで、 「ネットワークプログラミングとは何か」を理解できる良書。

「UNIX ネットワークベストプログラミング入門」という本の改訂版。 「ベスト」の方はネットワークバイトオーダーを考慮していない (htons を使っていない)、文字列リテラルを書き換えているのでコアダンプする環境があるなど ソースに問題があったが、修正されているようだ。 ただし「ベスト」を持っている人は買う必要はないかもしれない。

  • 著: 雪田修一
  • 発行所: 技術評論社
  • 定価: 2,480円(税込)

UNIX ネットワークプログラミング第2版 Vol.1

ネットワークプログラミングのバイブルと呼ばれる本。 高くて重いが、ネットワークプログラミングについて最も詳しく書かれている良書。 機会があったらぜひ手にとって読んでみてほしい。 echo クライアントのサンプルだけで 23種類もある。 TCP だけでなく、UDP や IP についても詳細な解説がされている。 また、全般にわたって IPv6 について十分な説明がされている。 ただし HTTP・FTP・POP3 など、アプリケーション層の プロトコルの解説はほとんどない。

初心者向きではない。 少なくともこの web に書いてあるレベルは理解している人向け。 web の内容に突っ込みを入れられる人なら文句なし。 なお、サンプルプログラムは全て C言語で書かれている。

  • 著: W.リチャード・スティーヴンス
  • 訳: 篠田陽一
  • 発行所: ピアソン・エデュケーション
  • 定価: 8,000円+税

詳解TCP/IP (Vol.1) プロトコル

「TCP/IP Illustrated」として有名。IP・ARP・RARP や TCP・UDP・IGMP、 DNS・SNMP・Telnet・SMTP・NFS など各レイヤの主要なプロトコルを解説。 とりあえず買っとけ。

  • 著: W.リチャード・スティーヴンス
  • 訳: 橘 康雄
  • 監訳: 井上 尚司
  • 発行所: ピアソン・エデュケーション
  • 定価: 6,000円+税

詳解TCP/IP (Vol.2) 実装

4.4BSD-Lite のソースコードの解説。 TCP・UDP・IP・ICMP などのプロトコルに加え、インタフェースまわりや BPF までとにかく詳細な説明をしている。 優秀な人なら、これを理解できればカーネルのネットワークまわりをいじれるようになるでしょう。 ただし、当ページ管理人の足りない頭ではほとんど理解できませんでした。

  • 著: W.リチャード・スティーヴンス
  • 監訳: 徳田英幸、戸辺義人
  • 発行所: ピアソン・エデュケーション
  • 定価: 9,800円+税

TCP/IP プログラミング徹底解説

短くまとまっている、ポイント別に注意点が押えてある、という点がお勧め。 しかし、日経 BP 社のサイトには「ネットワークプログラミングへの入門書として最適」とあるが、 これは嘘だと思う。ちょっとわかってきたら理解度をはかるために買うとよいのでは。

  • 著: Jon C. Snader
  • 訳: トップスタジオ
  • 発行所: 日経BP社
  • 定価: 3,200円+税

マスタリング TCP/IP SSL/TLS 編

SSL/TLS のプロトコルの解説書。RFC を読んでもよくわからない人はぜひどうぞ。

OpenSSL を使ったプログラミングについては OpenSSL - 暗号・PKI・SSL/TLS ライブラリの詳細 の方をお勧めする。

  • 著: Eric Rescorla
  • 訳: 齋藤孝道・亀頭利之・古森 貞
  • 発行所: オーム社
  • 定価: 4,500円+税

OpenSSL - 暗号・PKI・SSL/TLS ライブラリの詳細 new! 2004/9/2

OpenSSL ライブラリの使用方法の解説書。 コマンドラインインタフェースの解説や、SSL/TLS の証明書や認証局についてのセットアップ方法の記述もあるが、 本書の多くのページにライブラリの使用方法について割かれている。 基礎的な SSL/TLS クライアント・サーバから、サーバ側・クライアント側の証明書の組み込み方、 共通鍵暗号方式の EVP インタフェース・ハッシュ・HMAC・DH・DSA・RSA まで、 必要にして十分。BN ライブラリ・BIO ライブラリの解説まである。 貧弱で記述が古く誤りが多い OpenSSL のオンラインマニュアルに頼る前に、 この本で基礎知識を付けておくとよいだろう。 OpenSSL を使ったプログラミングを行う人には必携の良書。

ただし暗号や認証など基礎知識についての説明は少なめなので、 この辺の概念を知らない人はまず他の本で勉強しよう。

  • 著: John Viega・Matt Messier・Pravir Chandra
  • 発行所: オーム社
  • 定価: 4,200円+税

C言語による TCP/IP ネットワークプログラミング

読んでませんが、以下の理由によりお勧めしません。

掲示板での当ページ管理人の発言より引用:
> http://www.ncad.co.jp/~komata/netprg/
この作者の書いた「C for UNIX」という本は買いましたが、
セマフォあたりの解説で
    「よくわからんがこんな感じで動いている」
といったことが書いてあり、なかなか脱力させていただきました。

サンプルの httpget.c も、
    - htons を使わず、わざわざ short_conv なる関数を自作している。
    - select(2) のループ内で struct timeval をリセットしていない。
    - main の戻り値が void。
    - インデントが厨房くさい (作者の中では一貫した基準らしきものが
        あるようだが…)。
    - shutdown -> close という手順を踏んでいる意味がわからない。
        (close でいいんじゃない?)
    - 戻り値が int の関数であっても、呼び出し前に宣言すべきでは?
        (引数の型チェックができないし)
と、なかなか怪しげです。

IPv6 ネットワークプログラミング

IPv6 の第一人者 itojun が書いた本。 IPv4 用のソースを IPv6 対応に書き直す例を通して、IPv4/v6 デュアルスタックな ネットワークプログラミングの書き方を説明している。 いますぐ IPv6 なプログラミングをしたいなら買ってもいいかもしれないけど、 急ぎではないならもうちょっと待ってはどうか。そのうちもっとわかりやすい本が出ると思う。

  • 著: 萩野純一郎
  • 訳: 小川彩子
  • 発行所: アスキー
  • 定価: 3,200円+税

暗号技術入門 秘密の国のアリス

共通鍵暗号・公開鍵暗号・ハッシュ関数・デジタル署名・SSL/TLS などをわかりやすく解説してある。当ページ管理者は、 「勉強にはなったが、いまいち突っ込んだ記述が少なく物足りない」という感想。 ただ、値段も安いので入門書としてはよろしいと思います。

  • 著: 結城 浩
  • 発行所: ソフトバングパブリッシング株式会社
  • 定価: 3,000円+税

暗号技術大全

世の中の暗号アルゴリズム・ハッシュ関数・プロトコル・数学理論などを紹介している本。 古典的な換字暗号などは対象外。網羅性を重視しつつも、 個々のトピックについてそれなりに詳しく紹介されている。 現代暗号に興味のある人にはお勧めする (あまり興味のない人は買わない方がよい)。 参考文献が 63 ページにわたって 1653 個も書いてある本をはじめて見たよ。

  • 著: Bruce Schneier
  • 監訳: 山形浩生
  • 発行所: ソフトバングパブリッシング株式会社
  • 定価: 7,400円+税

暗号解読—ロゼッタストーンから量子暗号まで—

ネットワークプログラミングとは全く関係ないが、SSL/TLS つながりで紹介する。 シーザー暗号・ウィジュネル暗号などの古典的暗号から、 エニグマ・公開鍵暗号、未来の暗号技術である量子コンピュータ・量子暗号まで、 暗号作成者と解読者の戦いを描く。 技術書ではなく読み物で、数式はほぼ皆無。小学生でも読める。 この人の難しい事柄をやさしく説明する技術は素晴らしい。 同じ著者の書いた フェルマーの最終定理 も文句なくお勧めする。

  • 著: サイモン・シン
  • 訳: 青木薫
  • 発行所: 新潮社
  • 定価: 2,600円+税

前へ << 関数一覧

ご意見・ご指摘は Twitter: @68user までお願いします。