Skip to main content

Using Local Packet Whisperer (LPW, Chat with PCAP/PCAPNG files locally, privately!

Project description

Local Packet Whisperer (LPW)

A Fun project using Ollama, Streamlit & PyShark to chat with PCAP/PCAG NG files locally, privately!

Downloads Downloads

Features & Background

  1. 100% local, private PCAP assistant powered by range of local LLMs at your control, powered by Ollama
  2. Purely based on promp engg without any fancy libraries & dependencies. 100% vanilla
  3. Uses streamlit for the FE and pyshark for the pcap parsing needs
  4. Available as a pip installable package. So just pip it away! 😎
  5. As of v0.2.3, you can also connect LPW to a Ollama server running over a network.

Refer Release History for more details info on what each release contains.

Requirements

  1. Download & Install Ollama by referring to instructions according to your OS here

  2. Pull any Chat based LLM models to use with LPW.

ollama pull dolphin-mistral:latest
  1. If not running the desktop application, Start Ollama Server (refer here)

  2. You also need to install tshark executable. You could either install the Wireshark Application or simply use brew install tshark.

    ⚠️Warning⚠️ If you don't perform this step, you may see below error
    TSharkNotFoundException: TShark not found. Try adding its location to the configuration file.
    

Usage

  1. Install LPW using pip
pip install lpw
  1. This will install lpw CLI in your machine. Now simply Start or Stop LPW as follows:
lpw {start or stop}
lpw -h #for help
  1. LPW will automatically fetch the local models from Ollama local repo and populate the dropdown. Select a model to start your test. You can play with more than 1 model to compare the results 😎

  1. Now upload a PCAP/PCAPNG file.

  1. You can now start to chat with LPW and ask questions about the packet. Please Note: The performance of LPW depends on the underlying model. So feel free to download as many local LLMs from Ollama and try it. It is fun to see different response 🤩🤩🤩.

(This is a long gif. You will find LLM response at the end of the gif)

  1. By default PyShark parse the pcap till transport layer. If you want, you can help the LLM to parse application layer by selecting protocol filter in the analysis (just like how we would do in wireshark) .

Local Development

  1. Clone this repo and install requirements
git clone https://github.com/kspviswa/local-packet-whisperer.git
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
  1. Run streamlit app & point to http://localhost:8501
streamlit run bin/lpw_main.py

or simply

<lpw dir>/bin/lpw {start or stop}

Contributions

I just created this project based on inspiration from similar project called Packet Buddy which used open AI. But if you find this useful and wanna contribute bug fixes, additional features feel free to do so by raising a PR or open issues for me to fix. I intend to work on this as a hobby unless there is some interest in the community.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

lpw-0.2.4.1-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file lpw-0.2.4.1-py3-none-any.whl.

File metadata

  • Download URL: lpw-0.2.4.1-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.10

File hashes

Hashes for lpw-0.2.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 da08b68d13f413dfb3d60b968591a3e13cfac436de7fc2233dc9f479b80acdfa
MD5 2510dc54372bbcd9d4bcc3c3441d9d68
BLAKE2b-256 87f0eeefc95fa512bfe395798d75dbf864671d7a3fc84a1e756e127ffbc3fa2c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page