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)
| File | Size | Uploaded | |
|---|---|---|---|
| macids-1.2.tar.gz | 18.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|