The Definitive Guide to Linux Network Programming


Book Description

* Clear and abundant examples, using real-world code, written by three experienced developers who write networking code for a living. * Describes how to build clients and servers, explains how TCP, UDP, and IP work, and shows how to debug networking applications via packet sniffing and deconstruction. * Well suited for Windows developer looking to expand to Linux, or for the proficient Linux developer looking to incorporate client-server programming into their application.







Linux Network Administrator's Guide


Book Description

This introduction to networking on Linux now covers firewalls, including the use of ipchains and Netfilter, masquerading, and accounting. Other new topics in this second edition include Novell (NCP/IPX) support and INN (news administration).




Hands-On Network Programming with C


Book Description

A comprehensive guide to programming with network sockets, implementing internet protocols, designing IoT devices, and much more with C Key FeaturesApply your C and C++ programming skills to build powerful network applicationsGet to grips with a variety of network protocols that allow you to load web pages, send emails, and do much moreWrite portable network code for Windows, Linux, and macOSBook Description Network programming enables processes to communicate with each other over a computer network, but it is a complex task that requires programming with multiple libraries and protocols. With its support for third-party libraries and structured documentation, C is an ideal language to write network programs. Complete with step-by-step explanations of essential concepts and practical examples, this C network programming book begins with the fundamentals of Internet Protocol, TCP, and UDP. You'll explore client-server and peer-to-peer models for information sharing and connectivity with remote computers. The book will also cover HTTP and HTTPS for communicating between your browser and website, and delve into hostname resolution with DNS, which is crucial to the functioning of the modern web. As you advance, you'll gain insights into asynchronous socket programming and streams, and explore debugging and error handling. Finally, you'll study network monitoring and implement security best practices. By the end of this book, you'll have experience of working with client-server applications and be able to implement new network programs in C. The code in this book is compatible with the older C99 version as well as the latest C18 and C++17 standards. You'll work with robust, reliable, and secure code that is portable across operating systems, including Winsock sockets for Windows and POSIX sockets for Linux and macOS. What you will learnUncover cross-platform socket programming APIsImplement techniques for supporting IPv4 and IPv6Understand how TCP and UDP connections work over IPDiscover how hostname resolution and DNS workInterface with web APIs using HTTP and HTTPSExplore Simple Mail Transfer Protocol (SMTP) for electronic mail transmissionApply network programming to the Internet of Things (IoT)Who this book is for If you're a developer or a system administrator who wants to get started with network programming, this book is for you. Basic knowledge of C programming is assumed.




Networking Linux


Book Description

"TCP/IP is the primary networking protocol in use today. It is the protocol that the Internet is built upon and provides the capability for computers to share files and services. While there is a substantial number of TCP/IP books available, none provides hands-on implementation specifics for the Linux platform." "Networking Linux: A Practical Guide to TCP/IP goes beyond the conceptual and shows step-by-step the necessary know how to Linux TCP/IP implementation. If you are a programmer or network administrator in need of a platform-specific guide to increase your knowledge and overall efficiency, this is the book for you."--BOOK JACKET.Title Summary field provided by Blackwell North America, Inc. All Rights Reserved




Beej's Guide to Network Programming


Book Description

Back in the mid 90s, Beej got tired of all his friends asking him how to do this stuff with networking programming in C, so he put pen to paper on the early World Wide Web and wrote down everything he knew just to get them off his back. Since then, the Guide has expanded significantly, with plenty of examples, and covers IPv6. Inside you'll find such diverse topics as: Sockets programming in the C programming language, client/server, IPv4 and IPv6, data encoding, lots of manual pages rewritten in a friendlier format with examples, and goats! Actually no goats, but goats will be with you in spirit! Beej's Guide to Network Programming is also freely available for PDF download online in US Letter and A4 sizes, in its entirety, and always will be--Google for it. The bound version here is provided as a service to those who still prefer the analog printed word. (And to those who want to kick back a few bucks to the author.)




Network Programming with Perl


Book Description

A text focusing on the methods and alternatives for designed TCP/IP-based client/server systems and advanced techniques for specialized applications with Perl. A guide examining a collection of the best third party modules in the Comprehensive Perl Archive Network. Topics covered: Perl function libraries and techniques that allow programs to interact with resources over a network. IO: Socket library ; Net: FTP library -- Telnet library -- SMTP library ; Chat problems ; Internet Message Access Protocol (IMAP) issues ; Markup-language parsing ; Internet Protocol (IP) broadcasting and multicasting.




Understanding Linux Network Internals


Book Description

Benvenuti describes the relationship between the Internet's TCP/IP implementation and the Linux Kernel so that programmers and advanced administrators can modify and fine-tune their network environment.




Linux Socket Programming


Book Description

"Linux Socket Programming" provides thorough, authoritative coverage of the sockets API, the defacto standard for all network programming. It gives real-world examples that demonstrate effective techniques to make code more robust and versatile. This book contains the only complete reference for all calls and functions needed to program sockets.




Linux Kernel Programming


Book Description

Learn how to write high-quality kernel module code, solve common Linux kernel programming issues, and understand the fundamentals of Linux kernel internals Key Features Discover how to write kernel code using the Loadable Kernel Module framework Explore industry-grade techniques to perform efficient memory allocation and data synchronization within the kernel Understand the essentials of key internals topics such as kernel architecture, memory management, CPU scheduling, and kernel synchronization Book DescriptionLinux Kernel Programming is a comprehensive introduction for those new to Linux kernel and module development. This easy-to-follow guide will have you up and running with writing kernel code in next-to-no time. This book uses the latest 5.4 Long-Term Support (LTS) Linux kernel, which will be maintained from November 2019 through to December 2025. By working with the 5.4 LTS kernel throughout the book, you can be confident that your knowledge will continue to be valid for years to come. You’ll start the journey by learning how to build the kernel from the source. Next, you’ll write your first kernel module using the powerful Loadable Kernel Module (LKM) framework. The following chapters will cover key kernel internals topics including Linux kernel architecture, memory management, and CPU scheduling. During the course of this book, you’ll delve into the fairly complex topic of concurrency within the kernel, understand the issues it can cause, and learn how they can be addressed with various locking technologies (mutexes, spinlocks, atomic, and refcount operators). You’ll also benefit from more advanced material on cache effects, a primer on lock-free techniques within the kernel, deadlock avoidance (with lockdep), and kernel lock debugging techniques. By the end of this kernel book, you’ll have a detailed understanding of the fundamentals of writing Linux kernel module code for real-world projects and products.What you will learn Write high-quality modular kernel code (LKM framework) for 5.x kernels Configure and build a kernel from source Explore the Linux kernel architecture Get to grips with key internals regarding memory management within the kernel Understand and work with various dynamic kernel memory alloc/dealloc APIs Discover key internals aspects regarding CPU scheduling within the kernel Gain an understanding of kernel concurrency issues Find out how to work with key kernel synchronization primitives Who this book is for This book is for Linux programmers beginning to find their way with Linux kernel development. If you’re a Linux kernel and driver developer looking to overcome frequent and common kernel development issues, or understand kernel intervals, you’ll find plenty of useful information. You’ll need a solid foundation of Linux CLI and C programming before you can jump in.