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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1187ddf6bb9a331749b6c81bef4b4a316602c2010f838b5e1154a7bc68e96b2f
|
|
| MD5 |
7d7deef5775ff552a11590409fdb3542
|
|
| BLAKE2b-256 |
5a76843cfddf71bbfd7dcdb8121e15606288d47a42a08fc665129acec8642368
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
655f5c1142ffaaa48c3f70c854a3c10e3fcda17d0126902e885e1de4716e7081
|
|
| MD5 |
e4d569eb2e62e92ce27a97f1e553e1a0
|
|
| BLAKE2b-256 |
c40ac319f67b6b14ce7528d35cf408193c8396eee7545d86d4a70c8c2e8313b2
|