基本に忠実だから安心。長く使える定番教科書。Linuxサーバエンジニアに必要な知識と技術を、CentOS8によるサーバ構築と管理から学べます。ネットワーク・サーバ・Linuxの基礎からしっかりわかる。インストールとCUI/GUIによる基本操作もじっくりと解説。WWW・DNS・メール・DHCP・Sambaなど定番サーバを構築。クラウド時代に即した仮想化やリモート管理もフォロー。トラブルシュートやメンテナンスで管理運用も万全。CentOS8.0(1905)x86_64版・VirtualBox対応。
バイナリ解析とは、バイナリプログラムとそれに含まれているマシンコードやデータの性質を解析する科学と技術のことだ。セキュリティの脆弱性を狙う攻撃やマルウェアなど、悪意をもつソフトウェアに対処するには、バイナリプログラムの本当の性質を突き止める、そのプログラムが実際に実行することを突き止める必要がある。
本書は、バイナリプログラムの基礎知識、静的解析や動的解析といったバイナリ解析の基本から、ソースプログラムがなくてもバイナリプログラムの内容を書き換えるバイナリ計装といった高度な手法まで、リバースエンジニアリングの範囲を超えて実践的に解説する。
セキュリティエンジニアやセキュリティ研究者、ハッカーやペネトレーションテストの担当者、リバースエンジニア、マルウェアアナリスト、そしてコンピュータサイエンスの学生など、バイナリ解析に興味をもつすべての人を対象とした、最も魅力的で最も手ごわいテーマであるバイナリ解析入門の決定版である。
第I部 バイナリフォーマット
第1章 バイナリを解剖する
第2章 ELFフォーマット
第3章 入門:PEフォーマット
第4章 libbfdを使ってバイナリローダーを作成する
第II部 バイナリ解析の基礎
第5章 Linuxでの基本的なバイナリ解析
第6章 逆アセンブリとバイナリ解析の基礎
第7章 ELFにコードを注入する
第III部 高度なバイナリ解析
第8章 逆アセンブリのカスタマイズ
第9章 バイナリ計装
第10章 動的テイント解析
第11章 libdftを使った実用的な動的テイント解析
第12章 シンボリック実行
第13章 Tritonを使ったシンボリック実行
第IV部 付録
付録A 速習:x86アセンブリ
付録B libelfを使ってPT_NOTEを上書きする
付録C バイナリ解析ツール
付録D 参考文献
Linuxのmanページプロジェクト主催者によるLinuxプログラマ必携のリファレンス。Linux開発者(主にシステムプログラマとアプリケーションプログラマ)にとって、プログラミングする上で必要な情報を一冊で網羅。本書で扱う内容は広範囲にわたり一冊でLinuxプログラミングのほぼすべての情報を知ることができます。Linux/UNIX開発者のバイブルとなる一冊。
Dockerの普及に合わせ、現在ではさまざまなコンテナが提供されるようになっています。また、それにより、独自のコンテナを作りたいという要望も増えてきました。 本書は、コンテナ作成に広く使われる軽量ディストリビューション「Alpine Linux」について解説するものです。OSとしてのAlpine Linuxの導入や操作を解説し、それらをDockerコンテナとするための手順も詳しく説明していきます。本書によって、現代のシステムに欠かせないコンテナ技術の活用法を学ぶことが可能です。
UNIX/Linuxシステムプログラミングをはじめよう
本書は、2007年にピアソン・エデュケーションから発行された『例解UNIXプログラミング教室 -システムコールを使いこなすための12講ー』の改訂版です。
本書は、UNIX/Linuxの機能を使ったC言語プログラミングを解説するものです。UNIXは、ファイルの操作やプロセスの制御、プロセスへのシグナル、ネットワーク通信、端末の操作など、多くの高度な機能を持っています。しかし、システムコールによって、このような機能を利用したプログラムを正しく動作するようつくるためには、UNIXの隠れた概念や制約について知っている必要があり、それらを網羅的に覚えるのは困難です。
本書は、この概念や制約が、それぞれのシステムコールの動作に及ぼす影響を全部覚えるといったアプローチはとっていません。むしろ、必要なときに必要なシステムコールが分かり、それをどう使えばよいのか、そして、その機能には当然どのような制限があるのかが分かるようになるように、UNIXの基本概念とプログラマから見えるUNIXの概観をつかめるよう解説しました。
本書は単なるインタフェースの解説書ではありません。インタフェースの説明をしつつ、 UNIXの概観(エッセンス)を読者に理解してもらうことで、できるだけ楽に、しかも確かなUNIXシステムプログラミングができるようになってもらうことを目指しました。また、豊富なサンプルコードと演習問題を掲載し、実践的なプログラミングの助けとなるようにしています。
<このような方におすすめ>
・C言語の基本を学習し終えた学生、プログラミング入門者
・システムプログラミングのスキルをさらに磨きたいソフトウェアエンジニア
・組込みプログラムやデバイスドライバの開発に必要な基礎知識を学びたいエンジニア
<おもな改訂内容>
・第0章 UNIXの基礎とシェルの新設:UNIXシステムプログラミングを学ぶ準備として、UNIX にまだ慣れていない読者のために、UNIXとはどのようなものか、どのように操作するかを説明する第0章を新設しました。
・用語の見直し:旧版では提案も含めて読者にわかりやすい用語を目指していましたが、この新版では、わかりやすさを保ちつつ、広く使われている語を用いるようにしました。
UNIX自体がすでに成熟しているため、システムプログラミングの部分については小規模な改善を行いました。
なお、すべてのコードは以下のサイトからダウンロードできます。
https://github.com/kazutomi/reikai-unix-code-samples
第0章 UNIX の基礎とシェル
第1章 C の復習 (1):マニュアルの読み方,エラー処理,構造体,共用体
第2章 C の復習 (2):ポインタ,バイトオーダ,複雑な型
第3章 低水準入出力
第4章 標準入出力ライブラリ
第5章 プロセス
第6章 ファイルシステム
第7章 ファイル記述子のコピーとパイプ: dup , dup2 , pipe
第8章 ソケット通信入門
第9章 シグナルと競合状態
第10章 端末 (1) :端末,端末ラインディシプリン, termios 構造体
第11章 端末 (2) :エスケープシーケンス, curses ライブラリ,擬似端末
第12章 非局所脱出: setjmp, longjmp
参考文献
用語集
索引
豊富な問題と仮想マシンで合格レベルの技術が身につく!
自分で書き込んで覚える、今までになかったまったく新しいネットワークならびにLinuxの教科書!あなただけのオリジナル虎の巻!
本書は、これから仕事でLinuxを使おうという方はもとより、現場で日々Linuxを使っている方にも役立つ、Linuxのコア技術・カーネルのしくみや、ディストリビューションの最新動向と進化の歴史、UNIXコマンドやシェルスクリプトの実践的な基礎など、必須知識とノウハウが満載です。
ssh、scp、rsync、ハッシュ値、暗号化、安全なパスワードの生成……
システム管理者からWebエンジニアまで 待望の第3弾!!
≪目次≫
第1話 固定のIPアドレスを割り当てたい
第2話 特定のポートにだけ接続を許可したい
第3話 CentOS 6以前で特定のポートにだけアクセスを許可したい
第4話 ネットワークセグメント単位で接続を許可したり遮断したりしたい
第5話 直接接続できないネットワーク上のコンピュータで鍵認証したい
第6話 踏み台の向こうのサーバーに直接ファイルをコピーしたい
第7話 特定ネットワークセグメント向けのWebサーバーに別セグメントから接続したい
第8話 トンネリング用のssh接続を自動的に復旧させたい
第9話 誰がそのポート番号を使っているのかを調べたい
第10話 誰がネットワークの帯域を使っているのかを調べたい
第11話 他のネットワークから手元のPCにログインしてもらいたい
第12話 複数のコンピュータ上にあるファイルの中から一番新しいファイルを集めたい ほか
定番の学習書の改訂版登場!IPv6、クラウドなどの新しいテーマ、AndroidやWebの活況を背景として需要が高まる「Linux上での開発」などについて、わかりやすい解説を追加。Ubuntu、Scientific Linuxにも対応しており、技術動向に左右されない知識が身につく1冊。
本書では、各種システムコールの基礎知識と合わせて、平易なコメント付きでサンプルプログラムを掲載。プログラムを実際にコンパイルして実行することで、システムコールの動作をしっかり押さえられます。また、基本的なUNIXコマンド/簡易版の作成テクニックも盛り込みました。Linuxをメインに、FreeBSDやSolarisもサポートし、長く役立つ技術知識につながる1冊。
本当に初めての方が2時間でIoTを始められる本です。
Linuxの事実上の標準オーディオ基盤であるALSA(Advanced Linux Sound Architecture)の提供するアプリケーション・インターフェースを適用して,ハイレゾ音源を再生するプログラムの作成に必要な知識と技法を説明します.
プログラムはダウンロードできます.