Book description
Tackle security and networking issues using Python libraries such as Nmap, requests, asyncio, and scapy
Key Features
- Enhance your Python programming skills in securing systems and executing networking tasks
- Explore Python scripts to debug and secure complex networks
- Learn to avoid common cyber events with modern Python scripting
Book Description
It’s now more apparent than ever that security is a critical aspect of IT infrastructure, and that devastating data breaches can occur from simple network line hacks. As shown in this book, combining the latest version of Python with an increased focus on network security can help you to level up your defenses against cyber attacks and cyber threats.
Python is being used for increasingly advanced tasks, with the latest update introducing new libraries and packages featured in the Python 3.7.4 recommended version. Moreover, most scripts are compatible with the latest versions of Python and can also be executed in a virtual environment.
This book will guide you through using these updated packages to build a secure network with the help of Python scripting. You’ll cover a range of topics, from building a network to the procedures you need to follow to secure it. Starting by exploring different packages and libraries, you’ll learn about various ways to build a network and connect with the Tor network through Python scripting. You will also learn how to assess a network's vulnerabilities using Python security scripting. Later, you’ll learn how to achieve endpoint protection by leveraging Python packages, along with writing forensic scripts.
By the end of this Python book, you’ll be able to use Python to build secure apps using cryptography and steganography techniques.
What you will learn
- Create scripts in Python to automate security and pentesting tasks
- Explore Python programming tools that are used in network security processes
- Automate tasks such as analyzing and extracting information from servers
- Understand how to detect server vulnerabilities and analyze security modules
- Discover ways to connect to and get information from the Tor network
- Focus on how to extract information with Python forensics tools
Who this book is for
This Python network security book is for network engineers, system administrators, or any security professional looking to overcome networking and security challenges. You will also find this book useful if you’re a programmer with prior experience in Python. A basic understanding of general programming structures and the Python programming language is required before getting started.
Table of contents
- Mastering Python for Networking and Security Second Edition
- Why subscribe?
- Contributors
- About the author
- About the reviewers
- Packt is searching for authors like you
- Preface
- Section 1: The Python Environment and System Programming Tools
- Chapter 1: Working with Python Scripting
- Chapter 2: System Programming Packages
- Section 2: Network Scripting and Extracting Information from the Tor Network with Python
-
Chapter 3: Socket Programming
- Technical requirements
- Introducing sockets in Python
- Implementing an HTTP server in Python
- Implementing a reverse shell with sockets
- Resolving IPS domains, addresses, and managing exceptions
- Port scanning with sockets
- Implementing a simple TCP client and TCP server
- Implementing a simple UDP client and UDP server
- Summary
- Questions
- Further reading
-
Chapter 4: HTTP Programming
- Technical requirements
- Introducing the HTTP protocol
- Building an HTTP client with http.client
- Building an HTTP client with urllib.request
- Get response and request headers
- Building an HTTP client with requests
- Building an HTTP client with httpx
- Authentication mechanisms with Python
- Summary
- Questions
- Further reading
-
Chapter 5: Connecting to the Tor Network and Discovering Hidden Services
- Technical requirements
- Understanding the Tor Project and hidden services
- Tools for anonymity in the Tor network
- Discovering hidden services with OSINT tools
- Modules and packages in Python for connecting to the Tor network
- Tools that allow us to search hidden services and automate the crawling process in the Tor network
- Summary
- Questions
- Section 3: Server Scripting and Port Scanning with Python
-
Chapter 6: Gathering Information from Servers
- Technical requirements
- Extracting information from servers with Shodan
- Using Shodan filters and the BinaryEdge search engine
- Using the socket module to obtain server information
- Getting information on DNS servers with DNSPython
- Getting vulnerable addresses in servers with fuzzing
- Summary
- Questions
- Further reading
-
Chapter 7: Interacting with FTP, SFTP, and SSH Servers
- Technical requirements
- Connecting with FTP servers
- Building an anonymous FTP scanner with Python
- Connecting with SSH servers with paramiko and pysftp
- Implementing SSH clients and servers with the asyncSSH and asyncio modules
- Checking the security in SSH servers with the ssh-audit tool
- Summary
- Questions
- Further reading
- Chapter 8: Working with Nmap Scanner
- Section 4: Server Vulnerabilities and Security in Python Modules
- Chapter 9: Interacting with Vulnerability Scanners
-
Chapter 10: Identifying Server Vulnerabilities in Web Applications
- Technical requirements
- Understanding vulnerabilities in web applications with OWASP
- Analyzing and discovering vulnerabilities in CMS web applications
- Discovering SQL vulnerabilities with Python tools
- Testing Heartbleed and SSL/TLS vulnerabilities
- Scanning TLS/SSL configurations with SSLyze
- Summary
- Questions
- Further reading
- Chapter 11: Security and Vulnerabilities in Python Modules
- Section 5: Python Forensics
- Chapter 12: Python Tools for Forensics Analysis
- Chapter 13: Extracting Geolocation and Metadata from Documents, Images, and Browsers
-
Chapter 14: Cryptography and Steganography
- Technical requirements
- Encrypting and decrypting information with pycryptodome
- Encrypting and decrypting information with cryptography
- Steganography techniques for hiding information in images
- Steganography with Stepic
- Generating keys securely with the secrets and hashlib modules
- Summary
- Questions
- Further reading
-
Assessments
- Chapter 1 – Working with Python Scripting
- Chapter 2 – System Programming Packages
- Chapter 3 – Socket Programming
- Chapter 4 – HTTP Programming
- Chapter 5 – Connecting to the Tor Network and Discovering Hidden Services
- Chapter 6 – Gathering Information from Servers
- Chapter 7 – Interacting with FTP, SFTP, and SSH Servers
- Chapter 8 – Working with Nmap Scanner
- Chapter 9 – Interacting with Vulnerability Scanners
- Chapter 10 – Identifying Server Vulnerabilities in Web Applications
- Chapter 11 – Security and Vulnerabilities in Python Modules
- Chapter 12 – Python Tools for Forensics Analysis
- Chapter 13 – Extracting Geolocation and Metadata from Documents, Images, and Browsers
- Chapter 14 – Cryptography and Steganography
- Other Books You May Enjoy
Product information
- Title: Mastering Python for Networking and Security - Second Edition
- Author(s):
- Release date: January 2021
- Publisher(s): Packt Publishing
- ISBN: 9781839217166
You might also like
book
Mastering Python for Networking and Security
Master Python scripting to build a network and perform security operations Key Features Learn to handle …
book
Mastering Python Networking - Third Edition
New edition of the bestselling guide to mastering Python Networking, updated to Python 3 and including …
book
Network Programmability and Automation, 2nd Edition
Network engineers are finding it harder than ever to rely solely on manual processes to get …
book
Mastering Python Networking - Fourth Edition
Get to grips with the latest container examples, Python 3 features, GitLab DevOps, network data analysis, …