Python Network Hacking Essentials

Python Network Hacking Essentials

English | 2015 | 112 Pages | PDF, AZW4 | 10 MB

This book is not for professional hackers. Instead, this book is made for beginners who have programming experience and are interested in hacking.
Here, hacking techniques that can be easily understood have been described.
If you only have a home PC, you can test all the examples provided here.
I have included many figures that are intuitively understandable rather than a litany of explanations.
Therefore, it is possible to gain some practical experience while hacking, since I have only used examples that can actually be implemented.
This book is therefore necessary for ordinary people who have a curiosity of hackers and are interested in computers.


Network Hacking

Hacking techniques that exploit the characteristics of the network protocols can be classified into five categories as follows

1) Foot Printing is the first. The type of service supported by the operating system or server can be determined by finding the open port information through DNS queries, pinging, port scanning, and so on.

2) Sniffing is a technology that can be used to steal packet information from third party distributors in the network. Usually, technology that is widely used in an intranet will have the vulnerability inherent in the Ethernet protocol.

3) Spoofing is a technique that intercepts packets during communication by disguising the attach using the address of the server. A common disguise involves changing the MAC address or IP address.

4) Session Hijacking involves intercepting and forging information during an authentication session between a client and a server, and this technique is used to send and receive communication with the server without authentication.

5) Denial of Service (DoS) is one of the most widely used attack techniques. It paralyzes system functions. One way is to carry this out is to generate a normal packet in bulk, and another is to exploit the vulnerability of the ICMP and HTTP protocols.

A large amount of packets are transferred over the Internet, so network hacks are among the most difficult attacks to detect and block. When a security device detects an attack pattern and is set so as to be able to protect the network, new hacking techniques immediately appear. To learn the basic concepts of network hacking, let’s learn about port scanning, packet sniffing and a DoS attack.

Configure a Test Environment


In general, an information system is located behind the firewall. The firewall blocks unauthorized traffic flow by establishing IP and port information control. The default firewall settings are to block access from any IP address and port, but ports 80 and 443 are open for Web services. Port 80 handles the HTTP protocol, and port 443 handles the HTTPS protocol. The HTTP protocol supports a generic web service, and the HTTPS protocol provides support for communication encrypted through SSL. To support a remote file transfer, port 21 is also opened for use with the FTP protocol. Let’s briefly look at the firewall.

Vulnerability Analysis via Port Scanning

Preparation for Port Scanning

Python provides various modules that can be used to hack a network. The typical ones are “scapy” and “pcapy”. “scapy” is a multi-purpose tool that can be used for network hacking and providing various functions like Packet Sniffing and Port Scanning. However, powerful tools like NMap, Wireshark, and Metasploit have also been developed, and development of the Python hacking module has been interrupted. These are also difficult to install, and it is difficult to even obtain the right module for your specific environment. Python also supports application hacking by providing an interface to NMap and Wireshark.

First, let’s look at the hacking environment. Most of the information in security guides has banned opening FTP ports. It is common to upload files via FTP ports due to speed and ease of management. For the test, it is assumed that the administrator opened another FTP port in an environment running an Apache Web server.


To become an Advanced Hacker

Hacking Tools

First, let’s discuss a variety of tools. There are many tools available on the Internet, such as Back Track (Kali Linux), Metasploit, IDA Pro, Wireshark, and Nmap. The boundaries between analysis and attacking or hacking and defense are unclear. Testing tools can be used for attacks, and attack tools can also be used for analysis, so it is
possible to understand the basics of hacking while studying how to use some of the tools that were previously listed. Of course, it is important to learn how to use these in a test environment and to not attack a commercial website.


If you know understand the basics of hacking, you will have the desire to try to do something for yourself. At this point, it is necessary to learn a development language. You must understand high-level languages such as Python, Ruby, Perl, C, and Javascript as well as low-level languages such as Assembler. Assembler is the basis for reversing and debugging, and it is an essential language you need to know to become an advanced hacker.


Network hacking and Web hacking are relatively easy to understand. However, a system hack based on an application has a significantly higher level of difficulty. If you have sufficient experience with assembly and debugging tools, such as Immunity Debugger, IDA Pro, Ollydbg, then you can take a challenge for reversing. Even if you understand the control flow of the computer architecture and assembly language, hacking systems one by one is difficult, and only advanced hackers can do so.