Skip to main content

macOS-based Intrusion Detection System using machine learning for adaptive network security

Project description

MacIDS - macOS Intrusion Detection System

MacIDS is a comprehensive network monitoring and intrusion detection system designed specifically for macOS. It provides real-time network traffic analysis, application identification, and visualization tools to help users monitor and secure their network connections.

Features

  • Real-time Network Monitoring: Capture and analyze network traffic on your macOS system in real-time
  • Application Identification: Identify which applications are generating network traffic
  • Website Tracking: Monitor and analyze websites and domains accessed from your system
  • Geolocation Visualization: See where your network connections are going on a world map
  • Data Export: Export connection data for further analysis

Requirements

  • macOS 10.14 or newer
  • Python 3.7+
  • Administrator privileges (for packet capture functionality)

Installation

Using pip

pip install MacIDS

From source

git clone https://github.com/Nandhan-KA/MacIDS.git
cd MacIDS
pip install -e .

Usage

Network Monitor

To start the network monitoring tool:

sudo macids-netmon

Administrator privileges are required for capturing network packets.

You can also run it through Python:

sudo python -m macids.netmon

How It Works

MacIDS uses Scapy to capture and analyze network packets at the system level. The application identifies processes associated with network connections, resolves domain names, and provides geographical information about connections.

Key components:

  • Packet capture engine using Scapy
  • Process-connection correlation
  • Domain name resolution
  • Geolocation services
  • Interactive visualization using Matplotlib and Tkinter

Key Differences from WinIDS

  • Uses Scapy for packet capture instead of WinDivert
  • Adapted for macOS network stack and process management
  • Updated UI to match macOS design patterns
  • Modified packet handling for macOS network architecture

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Original WinIDS project by Nandhan K
  • MaxMind for GeoLite2 geolocation data
  • Scapy project for packet manipulation tools
  • Matplotlib for visualization components

Project details


Download files

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

Source Distribution

macids-1.0.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

macids-1.0-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file macids-1.0.tar.gz.

File metadata

  • Download URL: macids-1.0.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.8.0

File hashes

Hashes for macids-1.0.tar.gz
Algorithm Hash digest
SHA256 1187ddf6bb9a331749b6c81bef4b4a316602c2010f838b5e1154a7bc68e96b2f
MD5 7d7deef5775ff552a11590409fdb3542
BLAKE2b-256 5a76843cfddf71bbfd7dcdb8121e15606288d47a42a08fc665129acec8642368

See more details on using hashes here.

File details

Details for the file macids-1.0-py3-none-any.whl.

File metadata

  • Download URL: macids-1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.8.0

File hashes

Hashes for macids-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 655f5c1142ffaaa48c3f70c854a3c10e3fcda17d0126902e885e1de4716e7081
MD5 e4d569eb2e62e92ce27a97f1e553e1a0
BLAKE2b-256 c40ac319f67b6b14ce7528d35cf408193c8396eee7545d86d4a70c8c2e8313b2

See more details on using hashes here.

Supported by

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