Skip to content

Instantly share code, notes, and snippets.

Last active March 7, 2023 14:49
What would you like to do?
Python Netcat
import socket
class Netcat:
""" Python 'netcat like' module """
def __init__(self, ip, port):
self.buff = ""
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.connect((ip, port))
def read(self, length = 1024):
""" Read 1024 bytes off the socket """
return self.socket.recv(length)
def read_until(self, data):
""" Read data into the buffer until we have data """
while not data in self.buff:
self.buff += self.socket.recv(1024)
pos = self.buff.find(data)
rval = self.buff[:pos + len(data)]
self.buff = self.buff[pos + len(data):]
return rval
def write(self, data):
def close(self):
# below is a extract from a sample exploit that
# interfaces with a tcp socket
from netcat import Netcat
# start a new Netcat() instance
nc = Netcat('', 53121)
# get to the prompt
# start a new note
nc.write('new' + '\n')
# set note 0 with the payload
nc.write('set' + '\n')
Copy link

this is worst implementation! it doesn't work in various situations. It's not doing what NC's job is.

Copy link

@brenw0rth exactly what I need, thanks:)

Copy link

@brenw0rth exactly what I need, thanks:)

You're welcome :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment