{"id":14529281,"url":"https://github.com/vaguue/over-the-wire","last_synced_at":"2025-04-09T07:07:25.619Z","repository":{"id":220837271,"uuid":"751960218","full_name":"vaguue/over-the-wire","owner":"vaguue","description":"Network inspection library for Node","archived":false,"fork":false,"pushed_at":"2025-03-09T22:19:06.000Z","size":962,"stargazers_count":62,"open_issues_count":6,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T04:08:53.267Z","etag":null,"topics":["javascript","network","network-programming","network-security","nodejs","packet-crafting","packet-sniffing","pcap","pcap-analyzer","pcap-parser","pcapng","security","security-tools"],"latest_commit_sha":null,"homepage":"https://vaguue.github.io/over-the-wire","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vaguue.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-02T17:49:54.000Z","updated_at":"2025-03-19T08:20:42.000Z","dependencies_parsed_at":"2024-02-24T17:30:38.986Z","dependency_job_id":"cc71f030-a407-4e54-afcd-2102c470a8b9","html_url":"https://github.com/vaguue/over-the-wire","commit_stats":null,"previous_names":["vaguue/over-the-wire"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaguue%2Fover-the-wire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaguue%2Fover-the-wire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaguue%2Fover-the-wire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaguue%2Fover-the-wire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaguue","download_url":"https://codeload.github.com/vaguue/over-the-wire/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247994121,"owners_count":21030050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","network","network-programming","network-security","nodejs","packet-crafting","packet-sniffing","pcap","pcap-analyzer","pcap-parser","pcapng","security","security-tools"],"created_at":"2024-09-05T00:00:58.369Z","updated_at":"2025-04-09T07:07:25.596Z","avatar_url":"https://github.com/vaguue.png","language":"JavaScript","funding_links":[],"categories":["Networking"],"sub_categories":["Low level attacks"],"readme":"\u003cp align='center'\u003e\n  \u003cimg src='assets/s1.svg' width='180' alt='Hacker spider'\u003e\n\u003c/p\u003e\n\n\n# Over-the-wire [![GitHub license](https://img.shields.io/github/license/vaguue/over-the-wire?style=flat)](https://github.com/vaguue/over-the-wire/blob/main/LICENSE) [![npm](https://img.shields.io/npm/v/over-the-wire)](https://www.npmjs.com/package/over-the-wire) ![Development Status](https://img.shields.io/badge/status-in_development-orange)\n\n*The project is currently under active development.*\n\n## Overview\n`over-the-wire` is a Node.js packet manipulation library supporting:\n- Packet crafting and parsing\n- Capturing network traffic and sending packets in all formats\n- Parsing and serializing pcap and pcapng file formats\n- Creating custom non-TCP/UDP socket instances\n\n## System Requirements\n- Libpcap/WinPcap/Npcap library installed (if Wireshark is installed on your system, you are good to go)\n- Node.js version 16.10.0 or higher recommended\n- C++ compiler, if there are no prebuilt bindings for your system\n\n## Installation\n\n```bash\nnpm install over-the-wire --save\n```\n\n## Getting started\n\n```javascript\nconst fs = require('fs');\nconst { Pcap, Packet } = require('over-the-wire');\n\nconst dev = new Pcap.LiveDevice({\n  iface: 'en0',\n  direction: 'inout',\n  filter: 'src port 443',\n});\n\n// Get info about interface\nconsole.log('[*] Interface: ', dev.iface);\n\n// Save captured packets to a pcapng file\nconst dump = Pcap.createWriteStream({ format: 'pcapng' });\ndump.pipe(fs.createWriteStream('dump.pcapng'));\n\ndev.on('data', pkt =\u003e {\n  if (pkt.layers.IPv4) {\n    console.log(`[*] ${pkt.layers.IPv4.src} -\u003e ${pkt.layers.IPv4.dst}`);\n  }\n  dump.write(pkt);\n});\n\n// Create and inject a packet\nconst pkt = new Packet({ iface: dev.iface })\n                .Ethernet()\n                .IPv4({ dst: '192.168.1.1' })\n                .ICMP();\ndev.write(pkt);\n```\n\n## Documentation\n\n[Here :)](https://vaguue.github.io/over-the-wire)\n\n## Questions or Suggestions\nFeel free to open any issue in the Issues section of this repository. Currently, there are no restrictions on the format.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaguue%2Fover-the-wire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaguue%2Fover-the-wire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaguue%2Fover-the-wire/lists"}