Creating A TCP Client for Hacking Using Python
Introduction To Python
Python has a simple syntax similar to the English language. Python has syntax that allows developers to write programs with fewer lines than some other programming languages. Python runs on an interpreter system, meaning that code can be executed as soon as it is written.
TCP Client Using Python
There have been countless times during penetration tests that I’ve needed
to whip up a TCP client to test for services, send garbage data, fuzz, or
any number of other tasks. If you are working within the confines of large
enterprise environments, you won’t have the luxury of networking tools or
compilers, and sometimes you’ll even be missing the absolute basics like the
ability to copy/paste or an Internet connection. This is where being able to
quickly create a TCP client comes in extremely handy. But enough jabber-
ing—let’s get coding. Here is a simple TCP client.
import socket target_host = "www.google.com" target_port = 80 # create a socket object client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
We first create a socket object with the AF_INET and SOCK_STREAM param-
eters. The AF_INET parameter is saying we are going to use a standard
IPv4 address or hostname, and SOCK_STREAM indicates that this will be a TCP Client.
# connect the client client.connect((target_host,target_port)) # send some data client.send("GET / HTTP/1.1\r\nHost: google.com\r\n\r\n")
We then connect the client to the server and send it some data.
# receive some data response = client.recv(4096) print response
The last step is to receive some data back and print out the response .
This is the simplest form of a TCP client, but the one you will write most
In the above code snippet, we are making some serious assumptions
about sockets that you definitely want to be aware of. The first assump-
tion is that our connection will always succeed, and the second is that the
server is always expecting us to send data first (as opposed to servers that
expect to send data to you first and await your response). Our third assump-
tion is that the server will always send us data back in a timely fashion. We
make these assumptions largely for simplicity’s sake. While programmers
have varied opinions about how to deal with blocking sockets, exception-
handling in sockets, and the like, it’s quite rare for pentesters to build these
niceties into the quick-and-dirty tools for recon or exploitation work, so
we’ll omit them in this article.
Also Check Google Dorks | An Easy Way Of Hacking Using Google
2 thoughts on “Creating A TCP Client for Hacking Using Python”