Skip to content

Commit

Permalink
Merge pull request #75 from cytopia/release-0.0.19
Browse files Browse the repository at this point in the history
Release 0.0.19
  • Loading branch information
cytopia authored May 19, 2020
2 parents ffc4be9 + d880a55 commit 7e63b3e
Show file tree
Hide file tree
Showing 65 changed files with 20,259 additions and 2,189 deletions.
779 changes: 760 additions & 19 deletions .github/workflows/test-x64-macos-2.7.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-macos-3.5.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-macos-3.6.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-macos-3.7.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-macos-3.8.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-macos-pypy2.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-macos-pypy3.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-ubuntu-2.7.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-ubuntu-3.5.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-ubuntu-3.6.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-ubuntu-3.7.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-ubuntu-3.8.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-ubuntu-pypy2.yml

Large diffs are not rendered by default.

779 changes: 760 additions & 19 deletions .github/workflows/test-x64-ubuntu-pypy3.yml

Large diffs are not rendered by default.

777 changes: 759 additions & 18 deletions .github/workflows/test-x64-windows-2.7.yml

Large diffs are not rendered by default.

777 changes: 759 additions & 18 deletions .github/workflows/test-x64-windows-3.5.yml

Large diffs are not rendered by default.

777 changes: 759 additions & 18 deletions .github/workflows/test-x64-windows-3.6.yml

Large diffs are not rendered by default.

777 changes: 759 additions & 18 deletions .github/workflows/test-x64-windows-3.7.yml

Large diffs are not rendered by default.

777 changes: 759 additions & 18 deletions .github/workflows/test-x64-windows-3.8.yml

Large diffs are not rendered by default.

777 changes: 759 additions & 18 deletions .github/workflows/test-x64-windows-pypy2.yml

Large diffs are not rendered by default.

777 changes: 759 additions & 18 deletions .github/workflows/test-x64-windows-pypy3.yml

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,18 @@
## Unreleased


## Release 0.0.19-alpha

### Added
- Feature: Dualstack IPv4 and IPv6 by default (use `-4` or `-6` to use either of them alone)
- Feature: Allow `addr` part in `--local` to be optional for consistency: #54
- Feature: Have a stateful connect phase for UDP
- CI: Run integration tests for any combination of IPv4, IPv6, TCP, UDP, specific bind and wildcard bind

### Fixes
- Ensure remote hostname is mandatory for `--local`/`-L` mode


## Release 0.0.18-alpha

### Added
Expand Down
170 changes: 152 additions & 18 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ PYTHON_VERSION = 2.7
BINPATH = bin/
MANPATH = man/
DOCPATH = docs/
INTPATH = tests/integration/
BINNAME = pwncat

FL_VERSION = 0.3
Expand Down Expand Up @@ -212,7 +213,7 @@ _smoke-keep_open-after_client_send:
# -------------------------------------------------------------------------------------------------
TEST_PWNCAT_HOST=localhost
TEST_PWNCAT_PORT=4444
TEST_PWNCAT_WAIT=8
TEST_PWNCAT_WAIT=2
TEST_PWNCAT_RUNS=1
test: _test-behaviour-quit--client
test: _test-behaviour-quit--server
Expand All @@ -226,54 +227,187 @@ test: _test-options--ping_intvl
test: _test-options--ping_word

.PHONY: _test-behaviour-quit--client
_test-behaviour-quit--client:
tests/integration/run.sh "01-behaviour-quit--client" \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
#_test-behaviour-quit--client:
# tests/integration/run.sh "01-behaviour-quit--client" \
# "$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
_test-behaviour-quit--client: __test-behaviour-quit--client-000
_test-behaviour-quit--client: __test-behaviour-quit--client-001
_test-behaviour-quit--client: __test-behaviour-quit--client-002
_test-behaviour-quit--client: __test-behaviour-quit--client-003
_test-behaviour-quit--client: __test-behaviour-quit--client-004
_test-behaviour-quit--client: __test-behaviour-quit--client-100
_test-behaviour-quit--client: __test-behaviour-quit--client-101
_test-behaviour-quit--client: __test-behaviour-quit--client-102
_test-behaviour-quit--client: __test-behaviour-quit--client-103
_test-behaviour-quit--client: __test-behaviour-quit--client-200
_test-behaviour-quit--client: __test-behaviour-quit--client-201
__test-behaviour-quit--client-000:
$(INTPATH)01-behaviour-quit--client/000---tcp---client_quits---when_server_is_killed---client_default---before_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--client-001:
$(INTPATH)01-behaviour-quit--client/001---tcp---client_quits---when_server_is_killed---client_default---after_client_sent_data.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--client-002:
$(INTPATH)01-behaviour-quit--client/002---tcp---client_quits---when_server_is_killed---client_default---after_server_sent_data.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--client-003:
$(INTPATH)01-behaviour-quit--client/003---tcp---client_quits---when_server_is_killed---client_command---before_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--client-004:
$(INTPATH)01-behaviour-quit--client/004---tcp---client_quits---when_server_is_killed---client_command---after_server_sent_command.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--client-100:
$(INTPATH)01-behaviour-quit--client/100---udp---client_stays---when_server_is_killed---client_default---before_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--client-101:
$(INTPATH)01-behaviour-quit--client/101---udp---client_stays---when_server_is_killed---client_default---after_client_sent_data.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--client-102:
$(INTPATH)01-behaviour-quit--client/102---udp---client_stays---when_server_is_killed---client_default---after_server_sent_data.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--client-103:
$(INTPATH)01-behaviour-quit--client/103---udp---client_stays---when_server_is_killed---client_command---before_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--client-200:
$(INTPATH)01-behaviour-quit--client/200---tcp---client_stays---when_valid_http_request.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--client-201:
$(INTPATH)01-behaviour-quit--client/201---tcp---client_quites---when_invalid_http_request.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"

.PHONY: _test-behaviour-quit--server
_test-behaviour-quit--server:
tests/integration/run.sh "02-behaviour-quit--server" \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
#_test-behaviour-quit--server:
# tests/integration/run.sh "02-behaviour-quit--server" \
# "$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
_test-behaviour-quit--server: __test-behaviour-quit--server-000
_test-behaviour-quit--server: __test-behaviour-quit--server-001
_test-behaviour-quit--server: __test-behaviour-quit--server-002
_test-behaviour-quit--server: __test-behaviour-quit--server-003
_test-behaviour-quit--server: __test-behaviour-quit--server-004
_test-behaviour-quit--server: __test-behaviour-quit--server-100
_test-behaviour-quit--server: __test-behaviour-quit--server-101
_test-behaviour-quit--server: __test-behaviour-quit--server-103
_test-behaviour-quit--server: __test-behaviour-quit--server-104
_test-behaviour-quit--server: __test-behaviour-quit--server-200
_test-behaviour-quit--server: __test-behaviour-quit--server-201
__test-behaviour-quit--server-000:
$(INTPATH)02-behaviour-quit--server/000---tcp---server_quits---when_client_is_killed---server_default---before_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--server-001:
$(INTPATH)02-behaviour-quit--server/001---tcp---server_quits---when_client_is_killed---server_default---after_client_sent_data.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--server-002:
$(INTPATH)02-behaviour-quit--server/002---tcp---server_quits---when_client_is_killed---server_default---after_server_sent_data.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--server-003:
$(INTPATH)02-behaviour-quit--server/003---tcp---server_quits---when_client_is_killed---server_command---before_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--server-004:
$(INTPATH)02-behaviour-quit--server/004---tcp---server_quits---when_client_is_killed---server_command---after_client_sent_command.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--server-100:
$(INTPATH)02-behaviour-quit--server/100---udp---server_stays---when_client_is_killed---server_default---before_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--server-101:
$(INTPATH)02-behaviour-quit--server/101---udp---server_stays---when_client_is_killed---server_default---after_client_sent_data.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--server-103:
$(INTPATH)02-behaviour-quit--server/103---udp---server_stays---when_client_is_killed---server_command---before_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--server-104:
$(INTPATH)02-behaviour-quit--server/104---udp---server_stays---when_client_is_killed---server_command---after_client_sends_command.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--server-200:
$(INTPATH)02-behaviour-quit--server/200---udp---server_reacc---when_client_is_killed---server_default---after_client_sent_data.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-behaviour-quit--server-201:
$(INTPATH)02-behaviour-quit--server/201---udp---server_reacc---when_client_is_killed---server_command---after_client_sent_command.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"

.PHONY: _test-mode--local_forward
_test-mode--local_forward:
tests/integration/run.sh "10-mode---local_forward" \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"

.PHONY: _test-mode--remote_forward
_test-mode--remote_forward:
tests/integration/run.sh "11-mode---remote_forward" \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"

.PHONY: _test-options--nodns
_test-options--nodns:
tests/integration/run.sh "20-options---nodns" \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"

.PHONY: _test-options--crlf
_test-options--crlf:
tests/integration/run.sh "21-options---crlf" \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"

.PHONY: _test-options--keep_open
#_test-options--keep_open:
# tests/integration/run.sh "22-options---keep_open" \
# "$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
_test-options--keep_open:
tests/integration/run.sh "22-options---keep_open" \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
_test-options--keep_open: __test-options--keep_open-000
_test-options--keep_open: __test-options--keep_open-001
_test-options--keep_open: __test-options--keep_open-002
_test-options--keep_open: __test-options--keep_open-100
_test-options--keep_open: __test-options--keep_open-101
_test-options--keep_open: __test-options--keep_open-200
_test-options--keep_open: __test-options--keep_open-201
_test-options--keep_open: __test-options--keep_open-202
__test-options--keep_open-000:
$(INTPATH)22-options---keep_open/000---tcp---server_reacc---three_clients---server_default---cli_nosend-cli_nosend-cli_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-options--keep_open-001:
$(INTPATH)22-options---keep_open/001---tcp---server_reacc---three_clients---server_default---cli_nosend-cli_send-cli_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-options--keep_open-002:
$(INTPATH)22-options---keep_open/002---tcp---server_reacc---three_clients---server_default---cli_send-cli_send-cli_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-options--keep_open-100:
$(INTPATH)22-options---keep_open/100---tcp---server_reacc---three_clients---server_default---srv_send-cli_nosend-cli_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-options--keep_open-101:
$(INTPATH)22-options---keep_open/101---tcp---server_reacc---three_clients---server_default---srv_send-cli_send-cli_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-options--keep_open-200:
$(INTPATH)22-options---keep_open/200---tcp---server_reacc---three_clients---server_command---cli_nosend-cli_nosend-cli_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-options--keep_open-201:
$(INTPATH)22-options---keep_open/201---tcp---server_reacc---three_clients---server_command---cli_nosend-cli_send-cli_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-options--keep_open-202:
$(INTPATH)22-options---keep_open/202---tcp---server_reacc---three_clients---server_command---cli_send-cli_send-cli_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"

.PHONY: _test-options--reconn
_test-options--reconn:
tests/integration/run.sh "23-options---reconn" \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
#_test-options--reconn:
# tests/integration/run.sh "23-options---reconn" \
# "$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
_test-options--reconn: __test-options--reconn-000
_test-options--reconn: __test-options--reconn-001
_test-options--reconn: __test-options--reconn-002
__test-options--reconn-000:
$(INTPATH)23-options---reconn/000---tcp---client_reconn---three_servers---server_default---srv_down_cli_send-srv_nosend-srv_nosend-srv_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-options--reconn-001:
$(INTPATH)23-options---reconn/001---tcp---client_reconn---three_servers---server_default---srv_down_cli_send-srv_nosend-srv_send-srv_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"
__test-options--reconn-002:
$(INTPATH)23-options---reconn/002---tcp---client_reconn---three_servers---server_default---srv_down_cli_send-srv_send-srv_send-srv_send.sh \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"

.PHONY: _test-options--ping_init
_test-options--ping_intvl:
tests/integration/run.sh "25-options---ping_intvl" \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"

.PHONY: _test-options--ping_word
_test-options--ping_word:
tests/integration/run.sh "26-options---ping_word" \
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)"
"$(TEST_PWNCAT_HOST)" "$(TEST_PWNCAT_PORT)" "$(TEST_PWNCAT_WAIT)" "$(TEST_PWNCAT_RUNS)" "$(TEST_PYTHON_VERSION)"


# -------------------------------------------------------------------------------------------------
Expand Down
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@
</tbody>
<table>

> <sup>[1] <a href="https://cytopia.github.io/pwncat/pwncat.type.html">mypy type coverage</a> <strong>(fully typed: 94.10%)</strong></sup><br/>
> <sup>[1] <a href="https://cytopia.github.io/pwncat/pwncat.type.html">mypy type coverage</a> <strong>(fully typed: 94.37%)</strong></sup><br/>
> <sup>[2] Windows builds are currently only failing, because they are simply stuck on GitHub actions.</sup>

Expand Down Expand Up @@ -238,7 +238,9 @@ pwncat -R 10.0.0.1:4444 everythingcli.org 3306 -u
| Evade FW | Evade egress firewalls by round-robin outgoing ports (port hopping) |
| Evade IPS | Evade Intrusion Prevention Systems by being able to round-robin outgoing ports on connection interrupts (port hopping) |
| UDP rev shell | Try this with the traditional `netcat` |
| Stateful UDP | Stateful connect phase for UDP client mode |
| TCP / UDP | Full TCP and UDP support |
| IPv4 / IPv6 | Dual or single stack IPv4 and IPv6 support |
| Python 2+3 | Works with Python 2, Python 3, pypy2 and pypy3 |
| Cross OS | Work on Linux, MacOS and Windows as long as Python is available |
| Compatability | Use the traditional `netcat` as a client or server together with `pwncat` |
Expand Down Expand Up @@ -344,7 +346,7 @@ Type `pwncat -h` or click below to see all available options.
usage: pwncat [-Cnuv] [-e cmd] hostname port
pwncat [-Cnuv] [-e cmd] -l [hostname] port
pwncat [-Cnuv] -z hostname port
pwncat [-Cnuv] -L addr:port hostname port
pwncat [-Cnuv] -L [addr:]port hostname port
pwncat [-Cnuv] -R addr:port hostname port
pwncat -V, --version
pwncat -h, --help
Expand Down Expand Up @@ -374,14 +376,14 @@ mode arguments:
Connect to a remote endpoint and report status only.
Used for port scanning.
-L addr:port, --local addr:port
-L [addr:]port, --local [addr:]port
[Local forward mode]:
This mode will start a server and a client internally.
The internal server will listen locally on specified
hostname/port (positional arguments). Same as with -l.
addr/port (given by --local [addr:]port).
The server will then forward traffic to the internal
client which connects to another server specified by
address given via -L/--local addr:port.
hostname/port given via positional arguments.
(I.e.: proxies a remote service to a local address)
-R addr:port, --remote addr:port
Expand All @@ -398,7 +400,8 @@ mode arguments:
target machine via the positional arguments.
optional arguments:
-6 Use IPv6 instead of IPv4.
-4 Only Use IPv4 instead of both, IPv4 and IPv6.
-6 Only Use IPv6 instead of both, IPv4 and IPv6.
-e cmd, --exec cmd Execute shell command. Only for connect or listen mode.
-C lf, --crlf lf Specify, 'lf', 'crlf' or 'cr' to always force replacing
line endings for input and outout accordingly. Specify
Expand Down
Loading

0 comments on commit 7e63b3e

Please sign in to comment.