diff --git a/CONTRIBUTING.md b/CONTRIBUTING.ja.md similarity index 100% rename from CONTRIBUTING.md rename to CONTRIBUTING.ja.md diff --git a/README.md b/README.md index d4ceccd..aac0fde 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,11 @@ [日本語のREADMEはここ](https://github.com/DeNA/PacketProxy/blob/master/README.ja.md) -# PacketProxy +# About PacketProxy -PacketProxy is an open source proxy tool that allows TCP/UDP Traffic to be read. It is not limited to just HTTP. +PacketProxy is an open-source proxy tool that can intercept and inspect any protocol over TCP/UDP, not limited to just HTTP/1.x, HTTP2, or HTTPS. -It can be used for development assistance or for risk assessments. +PacketProxy is designed for testing web applications for internal use, which helps app developments and finding vulnerabilities on your applications. # Screenshot @@ -16,42 +16,39 @@ It can be used for development assistance or for risk assessments. # Features -- **Full featured local proxy tool** - - Show all the received packets - - Filter/Search packets by keywords - - Intercept packets, and modify them before sending them to server - - Resend packet to server +- **Full-featured local proxy tool** + - Save all captured packets (i.e., requests and responses) and show them in the history tab + - Filter/Search packets in the history tab (e.g. `requests==/api/v1/users` to show only requests whose path contains `/api/v1/users` ) + - Modify the contents of intercepted packets before forwarding them to the destination + - Resend (or replay) captured packets with or without manually modifying the contents - Show differences between any two received packets -- **Many protocols support** - - Support HTTP1, HTTP2, HTTPS, WebSocket, FireBase, MQTT, gRPC, Protocol Buffers, MessagePack and CBOR as built-in protocols. - - Develop new protocols easily -- **Features for application penetration test** - - Send concurrently multiple packets for a DB transaction test - - Replace server certificate with self signed certificate for a client side validation test -- **Other advantages** - - Have a built-in DNS server for easy packet forwarding - - Save/Load project data +- **Support for protocols over TCP/UDP, not limited to HTTP/HTTPS** + - Built-in encoders/decoders enable users to inspect/intercept HTTP1, HTTP2, HTTPS, WebSocket, FireBase, MQTT, gRPC, Protocol Buffers, MessagePack, and CBOR messages + - Easy to develop an extension to decode/encode protocols not listed above +- **Features for application penetration tests** + - Send multiple packets simultaneously to test race conditions or any inconsistent state due to improper synchronization/locking. + - Even possible to simultaneously send packets with different messages. ( `Bulk Sender` ) + - Replace a server certificate with a self-signed one for testing if a client app properly validate certificates + - Embedded an easy to configure DNS server to route requests from a client to PacketProxy, which is one of the easiest ways to proxy packets transparently + - Save/Load settings and history data of a project as an SQLite3 file - Support Windows, macOS, and Linux -# Setup - -[Download](https://github.com/DeNA/PacketProxy/releases) the version corresponding to your OS and run the installer. +# Install -Or +The recommended way to install PacketProxy is to download installers for your platform from the PacketProxy's [release](https://github.com/DeNA/PacketProxy/releases) page and execute it. -Just type `$ brew cask install packetproxy` if you use Homebrew-cask on MacOS. +You may also use Homebrew-Cask to install PacketProxy if your platform is macOS. In that case, installation is done by just typing `$ brew cask install packetproxy` -# Usage +# Using PacketProxy -Please see this page: [For Users](https://github.com/DeNA/PacketProxy/wiki/Using-PacketProxy) +Take a look at this page to get started: [For Users](https://github.com/DeNA/PacketProxy/wiki/Using-PacketProxy) -# Development +# Extending PacketProxy -If you want to develop support for additional protocols or improve on the base PacketProxy application, please refer to this page: -[For Developers](https://github.com/DeNA/PacketProxy/wiki/Developing-PacketProxy) +If you want to develop an extension to support additional protocols or improve core functionalities/UIs, please have a look at this page: [For Developers](https://github.com/DeNA/PacketProxy/wiki/Developing-PacketProxy) # License -Apache License 2.0 +This program is distributed under Apache License 2.0