دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [1 ed.] نویسندگان: Keir Davis, John W. Turner, Nathan Yocum سری: Expert's Voice ISBN (شابک) : 1590593227, 9781590593226 ناشر: Packt سال نشر: 2008 تعداد صفحات: 236 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 13 Mb
در صورت تبدیل فایل کتاب The Definitive Guide to Linux Network Programming به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب راهنمای قطعی برنامه نویسی شبکه لینوکس نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Apress' The Definitive Guide to Linux Network Programming روشی واضح و مختصر برای ایجاد کلاینت ها و سرورها تحت سیستم عامل لینوکس است. این کتاب فرض میکند که خواننده C میداند و تجربه توسعه کد در لینوکس را دارد، اما هر چیز دیگری را که یک برنامهنویس برای برنامهنویسی شبکه در دنیای واقعی نیاز دارد، از جمله طراحی، پیادهسازی، اشکالزدایی و امنیت را فراهم میکند. خوانندگان در مورد انواع مختلف سوکت، پروتکل های نشسته در مقابل پروتکل های بدون جلسه، نحوه ساخت یک پروتکل سفارشی، رمزگذاری، نحوه استفاده از SSL، و نحوه تونل کردن داده ها یاد خواهند گرفت.
Apress' The Definitive Guide to Linux Network Programming is a clear, concise treatment of creating clients and servers under the Linux operating system. The book assumes that the reader knows C and has experience developing code on Linux, but provides everything else a programmer needs for real-world network programming, including design, implementation, debugging, and security. Readers will learn about the many kinds of socket types, sessioned vs. sessionless protocols, how to build a custom protocol, encryption, how to use SSL, and how to tunnel data.
Contents at a Glance......Page 4
Contents......Page 5
Introduction......Page 12
Circuits vs. Packets......Page 19
Internetworking......Page 20
Ethernets......Page 22
Ethernet Frames......Page 23
Ethernet Addresses......Page 24
Gateways......Page 26
Internet Addresses......Page 28
Internet Protocol......Page 33
Protocol Layering......Page 36
Protocol Layer Models......Page 38
User Datagram Protocol......Page 41
Transmission Control Protocol......Page 43
The Client-Server Model......Page 47
The Domain Name System......Page 49
Summary......Page 55
What Is a Socket?......Page 57
Using Sockets......Page 59
Socket Constants......Page 60
Address Structure......Page 63
Using Socket Functions......Page 65
Summary......Page 79
User Datagram Protocol......Page 80
UDP Server......Page 81
UDP Client......Page 85
File Transfer......Page 88
The Server......Page 89
The Client......Page 94
Example File Transfer Session......Page 97
Error Handling......Page 98
Summary......Page 99
State vs. Stateless......Page 100
Methods for Maintaining State......Page 102
Storing State on the Server......Page 103
Storing State on the Client......Page 105
Stateless Server Walk-through......Page 108
Stateful Server Walk-through......Page 109
Summary......Page 111
Client Test Program......Page 113
The select() Function......Page 116
A Multiplexing Server......Page 118
Forking......Page 122
One Process Per Client......Page 123
Preforking: Process Pools......Page 128
Multithreading......Page 132
A Multithreaded Server......Page 133
Combining Preforking and Prethreading......Page 142
Nonblocking Sockets......Page 144
Putting It All Together......Page 146
Summary......Page 149
What Is a Protocol?......Page 150
What Will the Message Format Be?......Page 151
Will the Server Be Passive or Active?......Page 152
Will the Protocol Be Sessioned or Sessionless?......Page 153
What About Privacy?......Page 154
Client Commands......Page 155
Server Messages......Page 159
Our Chat Protocol in Action......Page 162
The /etc/services File......Page 163
Service Entry Functions......Page 164
Summary......Page 166
Reliability......Page 167
Overhead......Page 168
Established vs. Custom......Page 169
Two-Tier Architecture......Page 170
Three-Tier Architecture......Page 171
Monolithic Client......Page 173
Server-Side Considerations......Page 174
Daemonizing......Page 175
Logging......Page 177
Privilege Dropping......Page 180
chroot() Jails......Page 183
Summary......Page 184
netstat......Page 185
Ethereal......Page 186
gdb......Page 188
Chicken or the Egg......Page 189
Debug Statements......Page 190
Respect Buffer Limits......Page 191
Expect the Unexpected......Page 193
Fail Gracefully, But Not Silently......Page 194
Summary......Page 195
The Server......Page 196
The Client......Page 212
chatcli.h......Page 214
chatcli.cpp......Page 215
logindlg.h......Page 220
logindlg.cpp......Page 221
chatwin.h......Page 222
chatwin.cpp......Page 223
Makefile......Page 236
Recommendations for Improvements......Page 237
Summary......Page 238
Securing Network Communication......Page 240
Tunneling......Page 241
Tunneling with OpenSSH......Page 242
Tunneling with Stunnel......Page 243
Symmetric Key Cryptography......Page 244
Asymmetric Key Cryptography......Page 245
Certificates......Page 246
OpenSSL Functions and Structures......Page 251
File Descriptor Association......Page 257
BIO Connection Handling......Page 262
Thread-safe Programming with OpenSSL......Page 264
Compiling and Running the Example......Page 268
Summary......Page 269
The Old Scenario......Page 270
The Present-Day Scenario......Page 271
The Conversation Function......Page 272
Creating a PAM-Aware Application......Page 275
Public Key Authentication......Page 277
Using Signed Data for Authentication......Page 278
Single Sign-on......Page 287
Summary......Page 288
Common Attacks......Page 289
Functions to Avoid and Their Alternatives......Page 290
Error Handling......Page 294
Memory Management......Page 296
Worst-Case Scenarios......Page 300
Shared Memory and Variable Scope......Page 301
Random Number Generation......Page 304
Compiler Add-ons......Page 305
Code Analysis Tools......Page 306
Summary......Page 307
Process Method......Page 308
Security Model......Page 309
The Protocol......Page 310
Common Code Library......Page 311
The Client......Page 325
The Server......Page 334
Running the Client and Server......Page 341
Flawfinder Audit......Page 342
Future Improvements and Enhancements......Page 343
Summary......Page 346
IPv6......Page 347
IPv6 Addressing......Page 348
IPv6 and Linux......Page 350
Porting to IPv6......Page 351
IPv6 Server......Page 353
IPv6 Client......Page 356
Address Conversion Functions......Page 358
Future Enhancements......Page 360
Summary......Page 364
Index......Page 366