Book Image

Mastering Python for Networking and Security

By : José Ortega
Book Image

Mastering Python for Networking and Security

By: José Ortega

Overview of this book

It’s becoming more and more apparent that security is a critical aspect of IT infrastructure. A data breach is a major security incident, usually carried out by just hacking a simple network line. Increasing your network’s security helps step up your defenses against cyber attacks. Meanwhile, Python is being used for increasingly advanced tasks, with the latest update introducing many new packages. This book focuses on leveraging these updated packages to build a secure network with the help of Python scripting. This book covers topics from building a network to the different procedures you need to follow to secure it. You’ll first be introduced to different packages and libraries, before moving on to different ways to build a network with the help of Python scripting. Later, you will learn how to check a network’s vulnerability using Python security scripting, and understand how to check vulnerabilities in your network. As you progress through the chapters, you will also learn how to achieve endpoint protection by leveraging Python packages along with writing forensic scripts. By the end of this book, you will be able to get the most out of the Python language to build secure and robust networks that are resilient to attacks.
Table of Contents (16 chapters)

Chapter 6: Gathering Information from Servers

  1. What do we need to access the Shodan Developer API?

Register at the Shodan website and use API_KEY, which gives you access to their services.

  1. Which method should be called in the Shodan API to obtain information about a given host and what data structure does that method return?

The method is the host() method, and it returns the dictionary data structure.

  1. Which module can be used to obtain the banner of a server?

We need to create a socket with the sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) instruction, send a GET request with the sock.sendall(http_get) instruction, and finally receive data with the data = sock.recvfrom(1024) instruction.

  1. Which method should be called and what parameters should be passed to obtain the IPv6 address records with the DNSPython module?

dns.resolver.query('domain&apos...