arbitrary TCP and UDP connections and listens (Netcat for Python).
pync
Name
pync - arbitrary TCP and UDP connections and listens (Netcat for Python).Synopsis
Unix
pync [-46bCDdhklnruvz] [-c string] [-e filename] [-I length]
[-i interval] [-O length] [-P proxyuser] [-p source_port]
[-q seconds] [-s source] [-T keyword] [-w timeout]
[-X proto] [-x addr[:port]]
[-Y pyfile] [-y pycode] [dest] [port]
Windows
py -m pync [-46bCDdhklnruvz] [-c string] [-e filename] [-I length]
[-i interval] [-O length] [-P proxyuser] [-p source_port]
[-q seconds] [-s source] [-T keyword] [-w timeout]
[-X proto] [-x addr[:port]]
[-Y pyfile] [-y pycode] [dest] [port]
Python
import pync
args = '''[-46bCDdhklnruvz] [-c string] [-e filename] [-I length]
[-i interval] [-O length] [-P proxyuser] [-p source_port]
[-q seconds] [-s source] [-T keyword] [-w timeout]
[-X proto] [-x addr[:port]]
[-Y pyfile] [-y pycode] [dest] [port]'''
pync.run(args, stdin, stdout, stderr)
Description
Inspired by the Black Hat Python book, the goal of pync is to create an easy to use library that provides Netcat-like functionality for Python developers.Common uses include:
- simple TCP proxies
- python-script based HTTP clients and servers
- network daemon testing
- a SOCKS or HTTP ProxyCommand for ssh(1)
Installation
pync should work on any system with Python installed (version 2.7 or higher).Use Python's pip command to install pync straight from github: Unix
python -m pip install https://github.com/bw0rth/pync/archive/main.zip
Windows
py -m pip install https://github.com/bw0rth/pync/archive/main.zip
Usage
- Client/Server Model
- Data Transfer
- Talking to Servers
- Port Scanning
- Remote Command Execution
- Remote Code Execution
- pync For Developers
Options
| Option | Description | :------------- | :---------- | -4 | Use IPv4 addresses only | -6 | Use IPv6 addresses only | -b | Allow broadcast | -C | Send CRLF as line-ending | -c string | specify shell commands to exec after connect (use with caution). | -D | Enable the debug socket option | -d | Detach from stdin | -e filename | specify filename to exec after connect (use with caution). | -h, --help | show available options and exit. | -I length | TCP receive buffer length | -i secs | Delay interval for lines sent, ports scanned | -k | Keep inbound sockets open for multiple connects | -l | Listen mode, for inbound connects | -n | Suppress name/port resolutions | -O length | TCP send buffer length | -P proxy_username | Username for proxy authentication | -p source_port | Specify local port for remote connects | -q seconds | quit after EOF on stdin and delay of seconds | -r | Randomize remote ports | -s source | Local source address | -T toskeyword | Set IP Type of Service | -u | UDP mode [default: TCP] | -v | Verbose | -w secs | Timeout for connects and final net reads | -X proxy_protocol | Proxy protocol: "4", "5" (SOCKS) or "connect" | -x proxy_address[:port] | Specify proxy address and port | -Y pyfile | specify python file to exec after connect (use with caution). | -y pycode | specify python code to exec after connect (use with caution). | -z | Zero-I/O mode [used for scanning] | dest | The destination host name or ip to connect or bind to | port | The port number to connect or bind to