Skip to main content

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

Release files for MacIDS 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for MacIDS 1.2
File Size Uploaded
macids-1.2.tar.gz 18.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for MacIDS 1.2
File Interpreter ABI Platform
macids-1.2-py3-none-any.whl Python 3 none any Details

Total release size: 38.4 kB

Release files / macids-1.2.tar.gz

Download URL macids-1.2.tar.gz
Size 18.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3a3cb87cd9d6d92900c5a9ba662803de14e1f18e63e41fa9e259047bf33f8de4
BLAKE2b-256 checksum
How to use checksums
8c3a66f7a7bc0b48ec82ae84e45ff420163cc97561bf0b86c9ac13f5d018a2a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.0

Release files / macids-1.2-py3-none-any.whl

Download URL macids-1.2-py3-none-any.whl
Size 20.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
98da404e65c7db85b6bf02e9ad6d53b2bbe7f4540858a8c0c72f2dc0414899a8
BLAKE2b-256 checksum
How to use checksums
810cffcb932d75087c46c6c1d25e64f21e685e83ce9923257f87fc628270d2ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.0

Release history Release notifications | RSS feed

This release

1.2 This release

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page