Skip to main content

sock

Small script to simplify network communication.

Something like telnetlib, but for clean TCP/UDP (no command sequences, \r\n newlines, etc.)

As an alternative, consider pwntools which contains unified interface (tubes) for communications with sockets, processes, etc. See tubes API.

Current development only supports python 3. Old python 2 version is available at the py2 branch.

Installation

$ pip3 install sock

For development or building from this repository, poetry is needed.

Usage

TCP Client

from sock import *

f = Sock("some.cool.servi.ce:3123", timeout=10)
# or IPv6
f = Sock6("::1 3123", timeout=3)
# or already existing socket
f = Sock.from_socket(some_socket)  # or toSock(some_socket)
# or UDP/IPv6
f = SockU6("::1 3123", timeout=3)
# or WebSocket
# For using WebSock, the websocket-client module must be installed (pip install websocket-client).
f = WebSock("ws://localhost:3123")

# wait for prompt (skip banner for example)
# the prompt itself will be skipped (and returned) too
f.read_until("> ", timeout=3)  # read_until_re also exists

f.send("flip coin\n")

# skip until regexp
result1 = f.skip_until_re(r"You've got (heads|tails)")  # skip_until(str) also exists

# read until also consumes matched part
f.read_until_re(r"You've g[oe]t ")  # read_until(str) also exists

# read specific number of bytes
result2 = f.read_nbytes(5)

assert result1 == result2

# alias for f.send(s + "\n")
f.send_line("random please")

# read one packet and flush buffers
print(f.read_one())

# non-blocking read (flush buffers)
print(f.read_one(0))

# read until disconnect
print(f.read_all())

About

Author: hellman

License: MIT License

Metadata

Release files for sock 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sock 0.6.0
File Size Uploaded Provenance Actions
sock-0.6.0.tar.gz 5.9 kB Without provenance Details for sock-0.6.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sock 0.6.0
File Interpreter ABI Platform Actions
sock-0.6.0-py3-none-any.whl Python 3 none any Details for sock-0.6.0-py3-none-any.whl

Total release size: 11.7 kB

Release files / sock-0.6.0.tar.gz

Download URL sock-0.6.0.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
650717677a8b0e35e42dba19cecbd0ec0c922b67003e7e0c3e18ebb425a305cb
BLAKE2b-256 checksum
How to use checksums
b3773507dd7e40cd5ccac1ef9fa102fbc2b39d6267500e0e7dba4b2d84625f41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.0rc1 CPython/3.8.5 Linux/5.8.0-33-generic

Release files / sock-0.6.0-py3-none-any.whl

Download URL sock-0.6.0-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0e5cd3fab67042d6de06bbfedc8a3b9624de564bb64324531e508892145b30cf
BLAKE2b-256 checksum
How to use checksums
b6b82faf49af564a08209b9fc822389cefd6268d81a1614b5f435a4835f14d8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.0rc1 CPython/3.8.5 Linux/5.8.0-33-generic

Security for sock 0.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files No provenance

0.4.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page