A comprehensive guide to understanding network architecture, communication protocols, and network analysis to build secure applications compatible with the latest versions of C# 8 and .NET Core 3.0
Explore various network architectures that make distributed programming possible
Learn how to make reliable software by writing secure interactions between clients and servers
Use .NET Core for network device automation, DevOps, and software-defined networking
The C# language and the .NET Core application framework provide the tools and patterns required to make the discipline of network programming as intuitive and enjoyable as any other aspect of C# programming. With the help of this book, you will discover how the C# language and the .NET Core
framework make this possible.
The book begins by introducing the core concepts of network programming, and what distinguishes this field of programming from other disciplines. After this, you will gain insights into concepts such as transport protocols, sockets and ports, and remote data streams, which will provide you with a
holistic understanding of how network software fits into larger distributed systems. The book will also explore the intricacies of how network software is implemented in a more explicit context, by covering sockets, connection strategies such as Transmission Control Protocol (TCP) and User Datagram
Protocol (UDP), asynchronous processing, and threads. You will then be able to work through code examples for TCP servers, web APIs served over HTTP, and a Secure Shell (SSH) client.
By the end of this book, you will have a good understanding of the Open Systems Interconnection (OSI) network stack, the various communication protocols for that stack, and the skills that are essential to implement those protocols using the C# programming language and the .NET Core framework.
What you will learn
Understand the breadth of C#'s network programming utility classes
Utilize network-layer architecture and organizational strategies
Implement various communication and transport protocols within C#
Discover hands-on examples of distributed application development
Gain hands-on experience with asynchronous socket programming and streams
Learn how C# and the .NET Core runtime interact with a hosting network
Understand a full suite of network programming tools and features
Who this book is for
If you're a .NET developer or a system administrator with .NET experience and are looking to get started with network programming, then this book is for you. Basic knowledge of C# and .NET is assumed, in addition to a basic understanding of common web protocols and some high-level distributed system
Learn how to hack systems like black hat hackers and secure them like security experts
Understand how computer systems work and their vulnerabilities
Exploit weaknesses and hack into machines to test their security
Learn how to secure systems from hackers
This book starts with the basics of ethical hacking, how to practice hacking safely and legally, and how to install and interact with Kali Linux and the Linux terminal. You will explore network hacking, where you will see how to test the security of wired and wireless networks. You'll also learn how
to crack the password for any Wi-Fi network (whether it uses WEP, WPA, or WPA2) and spy on the connected devices.
Moving on, you will discover how to gain access to remote computer systems using client-side and server-side attacks. You will also get the hang of post-exploitation techniques, including remotely controlling and interacting with the systems that you compromised. Towards the end of the book, you
will be able to pick up web application hacking techniques. You'll see how to discover, exploit, and prevent a number of website vulnerabilities, such as XSS and SQL injections.
The attacks covered are practical techniques that work against real systems and are purely for educational purposes. At the end of each section, you will learn how to detect, prevent, and secure systems from these attacks.
What you will learn
Understand ethical hacking and the different fields and types of hackers
Set up a penetration testing lab to practice safe and legal hacking
Explore Linux basics, commands, and how to interact with the terminal
Access password-protected networks and spy on connected clients
Use server and client-side attacks to hack and control remote computers
Control a hacked system remotely and use it to hack other systems
Discover, exploit, and prevent a number of web application vulnerabilities such as XSS and SQL injections
Who this book is for
Learning Ethical Hacking from Scratch is for anyone interested in learning how to hack and test the security of systems like professional hackers and security experts.