Skip to content

Quick Node.js Network Scanner is a TypeScript tool for efficiently retrieving network interface details in Node.js environments. It provides structured information about local and external IP addresses, MAC addresses, subnet masks, and more.

Notifications You must be signed in to change notification settings

thisguymartin/quick-nodejs-network-scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Network Interface Scanner

A cross-platform network interface scanner for Node.js that provides detailed information about network interfaces, external IP addresses, and VPN detection.

Features

  • Primary network interface detection
  • Cross-platform VPN detection
  • IPv4 and IPv6 support
  • External IP detection
  • Network statistics and interface grouping
  • MAC address and CIDR information
  • Typescript support

Installation

npm install network-interface-scanner
# or
yarn add network-interface-scanner

Usage

import { getNetworkInfo } from "network-interface-scanner";

const networkInfo = await getNetworkInfo();

// Get primary interface details
console.log(networkInfo.primaryInterface);
/*
{
  network_type: "en0",
  local_ip: "192.168.1.100",
  ip_version: "IPv4",
  mac_address: "00:11:22:33:44:55",
  subnet_mask: "255.255.255.0",
  cidr: "192.168.1.0/24"
}
*/

// Check VPN status
console.log(networkInfo.stats.hasVPN); // true/false

// Get all interfaces
console.log(networkInfo.allInterfaces);

API Reference

getNetworkInfo()

Returns network interface information.

interface NetworkInterfaceInfo {
  primaryInterface: {
    network_type: string; // Interface name (en0, Ethernet)
    local_ip: string; // Local IP address
    ip_version: string; // IPv4 or IPv6
    mac_address: string; // MAC address
    subnet_mask: string; // Subnet mask
    cidr: string; // CIDR notation
  };
  allInterfaces: {
    [key: string]: {
      ipv4?: NetworkInterface;
      ipv6?: NetworkInterface[];
    };
  };
  stats: {
    ipv4Count: number;
    ipv6Count: number;
    interfaceTypes: Set<string>;
    hasVPN: boolean;
  };
  external_ip?: string;
  lastUpdated: string;
}

Platform Support

  • Windows
  • macOS
  • Linux

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License - see the LICENSE file for details

About

Quick Node.js Network Scanner is a TypeScript tool for efficiently retrieving network interface details in Node.js environments. It provides structured information about local and external IP addresses, MAC addresses, subnet masks, and more.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published