MCPcopy Index your code
hub / github.com/WirefishInc/wirefish

github.com/WirefishInc/wirefish @v0.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.0 ↗ · + Follow
851 symbols 2,026 edges 79 files 65 documented · 8%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Wirefish

Tauri

status License build docs

A blazingly fast multiplatform packet sniffer built with Tauri!

Installation

  1. Properly install all the needed dependencies
  2. Download the latest release of the intended OS and follow the installation wizard

If you prefer building from source code, clone the repo and run npm run tauri build

Features

  • Interception: sets the network adapter in promiscuous mode and reconstructs all the info related to the collected packets. For now, the list of fully parsed packets is:

    • Ethernet
    • IPv4, IPv6
    • ICMPv4, ICMPv6
    • UDP, TCP
    • HTTP, DNS, TLS

    The interception can be paused, in order to be subsequently resumed, or stopped. + Filtering: the collected packets can be filtered out by means of packet type (eg. IPv4, TCP, ...) or packet inner fields (eg. Source IP, Destination MAC, ...) + Report generation: a textual representation describing a synthesis of the observed events is provided. For each of the network address/port pairs that have been observed, it lists the protocols that was transported, the cumulated number of bytes transmitted, the timestamp of the first and last occurrence of information exchange, all in CSV format. For instance: csv Source IP,Destination IP,Source Port,Destination Port,First Data Exchange,Last Data Exchange,Bytes Exchanged,Protocols 192.168.158.49,185.199.111.154,53826,443,2022-10-19 16:54:13,2022-10-19 16:54:14,12837,TCP;IPv4;TLS 192.168.158.49,216.58.209.42,53798,443,2022-10-19 16:54:10,2022-10-19 16:54:10,120,IPv4;TCP 192.168.158.49,192.168.158.100,-,-,2022-10-19 16:54:17,2022-10-19 16:54:17,42,ARP 192.168.158.49,34.158.0.131,61392,443,2022-10-19 16:54:19,2022-10-19 16:54:19,184,IPv4;TLS;TCP + Report interval: the report is generated every a user-provided interval expires, and continues to do so until the sniffing process is paused/stopped.

Dependencies

Windows

WinPcap is needed, along with the WinPcap Developer's Pack. Add the /Lib or /Lib/x64 folder to your LIB environment variable.

Linux

On Debian based Linux, install libpcap-dev. If not running as root, you need to set capabilities like so: sudo setcap cap_net_raw,cap_net_admin=eip path/to/bin

Mac OS X

libpcap should be installed on Mac OS X by default.

Extension points exported contracts — how you extend this code

SerializableTransportLayerPacket (Interface)
(no doc) [23 implementers]
src/types/sniffing.ts
RowProps (Interface)
(no doc)
src/components/HexViewer.tsx
SerializableNetworkLayerPacket (Interface)
(no doc) [10 implementers]
src/types/sniffing.ts
HewViewerProps (Interface)
(no doc)
src/components/HexViewer.tsx
SerializableLinkLayerPacket (Interface)
(no doc) [6 implementers]
src/types/sniffing.ts
FiltersProps (Interface)
(no doc)
src/components/Filters.tsx
SerializableApplicationLayerPacket (Interface)
(no doc) [21 implementers]
src/types/sniffing.ts
ArrayProps (Interface)
(no doc)
src/components/Fields.tsx

Core symbols most depended-on inside this repo

toString
called by 56
src/types/serializable_packets/tls.ts
to_string
called by 53
src-tauri/src/report.rs
get_application_layer_packet
called by 23
src-tauri/sniffer_parser/src/serializable_packet/mod.rs
onEachLazy
called by 22
docs/storage.js
getSettingValue
called by 20
docs/storage.js
addClass
called by 20
docs/storage.js
get_transport_layer_packet
called by 19
src-tauri/sniffer_parser/src/serializable_packet/mod.rs
get_network_layer_packet
called by 14
src-tauri/sniffer_parser/src/serializable_packet/mod.rs

Shape

Function 334
Method 299
Class 188
Interface 17
Enum 13

Languages

TypeScript71%
Rust29%

Modules by API surface

src/types/serializable_packets/tls.ts183 symbols
docs/search.js63 symbols
src-tauri/sniffer_parser/src/serializable_packet/application.rs60 symbols
src/types/sniffing.ts56 symbols
src/types/serializable_packets/dns.ts54 symbols
src/types/serializable_packets/transport.ts43 symbols
docs/main.js41 symbols
src/types/serializable_packets/application.ts33 symbols
src-tauri/src/filtering.rs30 symbols
src-tauri/sniffer_parser/src/application/http.rs28 symbols
src/types/serializable_packets/network.ts27 symbols
src/types/serializable_packets/link.ts20 symbols

For agents

$ claude mcp add wirefish \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact