Skip to main content

Network Diagnostics Toolkit untuk educational purposes

Project description

๐Ÿ”ง Netdiag - Network Diagnostics Toolkit v1.1.0

Python Version License Educational Version

Netdiag adalah library Python untuk diagnosa jaringan yang dirancang khusus untuk keperluan edukasi mahasiswa jurusan Teknologi Rekayasa Internet. Library ini menggunakan modul bawaan Python sebanyak mungkin untuk memberikan pemahaman mendalam tentang networking fundamentals.

๐Ÿ“‹ Daftar Isi

๐Ÿš€ Fitur Utama

๐Ÿ“ Ping

  • Ping ke host dengan deteksi OS otomatis (Windows/Linux/Mac)
  • Parsing output untuk statistik packet loss dan response time
  • Support untuk custom count dan timeout
  • NEW v1.1.0: Advanced latency analysis dengan jitter calculation

๐Ÿ” Traceroute

  • Traceroute dengan dukungan multi-platform
  • Parsing hop-by-hop analysis
  • Deteksi jika destination tercapai

๐ŸŒ IP Utilities

  • Local IP: Mendapatkan IP address lokal dari interface aktif
  • Public IP: Mendapatkan IP publik menggunakan multiple API services
  • IP Info: Informasi geografis dan ISP dari IP address

๐Ÿ”’ Port Scanning

  • TCP port scanning dengan threading untuk performa optimal
  • Scanning port range custom atau common ports
  • Service detection untuk port yang terbuka
  • NEW v1.1.0: Optimized common ports scanning

๐Ÿ”Ž DNS Lookup

  • Forward DNS lookup (hostname โ†’ IP)
  • Reverse DNS lookup (IP โ†’ hostname)
  • Bulk DNS lookup untuk multiple hostnames
  • Full DNS info dengan IPv4/IPv6 support
  • NEW v1.1.0: Enhanced DNS operations dan batch processing

๐Ÿ†• Fitur Baru v1.1.0

๐Ÿš€ Speed Testing & Performance Analysis

  • bandwidth_test() - Measure download speed dengan test files
  • ping_latency_test() - Advanced latency analysis dengan statistik lengkap
  • connection_quality_test() - Comprehensive connection quality assessment

๐ŸŒ Network Interface Management

  • get_network_interfaces() - Discover semua network interfaces system
  • get_default_gateway() - Informasi default gateway
  • analyze_network_config() - Complete network configuration analysis

๐Ÿ“ค Export & Logging System

  • export_results() - Export test results ke JSON, CSV, atau TXT
  • create_logger() - Advanced logging dengan multiple levels
  • batch_export() - Export multiple results dalam berbagai format

๐Ÿ”ง Enhanced CLI Commands

  • speedtest - Speed testing dari command line
  • interfaces - Network interface analysis
  • analyze - Complete network analysis
  • export - Result export functionality

๐Ÿ’ป Instalasi

Instalasi Lokal (Development)

# Clone atau download project
git clone https://github.com/yourusername/netdiag.git
cd netdiag

# Install dalam mode development
pip install -e .

Instalasi dari PyPI (jika sudah dipublish)

pip install netdiag

Requirements

  • Python 3.7 atau lebih baru (memanfaatkan modern Python features)
  • Tidak ada external dependencies (hanya menggunakan standard library)
  • Akses internet untuk fungsi IP publik dan IP info

๐Ÿ“– Penggunaan Dasar

Import Library

# Core functions (v1.0.0)
from netdiag import ping, traceroute, get_local_ip, get_public_ip, scan_ports, dns_lookup

# Enhanced functions (v1.1.0)
from netdiag import (
    # Speed testing
    bandwidth_test, ping_latency_test, connection_quality_test,
    # Network interfaces  
    get_network_interfaces, get_default_gateway, analyze_network_config,
    # Export & logging
    export_results, create_logger, batch_export,
    # Enhanced DNS & ports
    reverse_dns_lookup, dns_bulk_lookup, scan_common_ports, get_ip_info
)

# Modern Python 3.7+ features
from netdiag import (
    NetworkConfiguration, EnhancedNetworkResult, 
    NetworkTimeoutError, create_network_result_factory
)

Python 3.7+ Modern Features

# Modern dataclass with slots and frozen for better performance
config = NetworkConfiguration(
    host="google.com", 
    port=443, 
    timeout=10
)

# Method chaining dengan fluent interface
result = EnhancedNetworkResult(success=True) \
    .add_tag("production") \
    .add_tag("monitoring") \
    .with_metadata(source="automated", priority="high")

print(f"Connection: {config.connection_string}")
print(f"Tags: {result.tags}")

Contoh Sederhana

# Ping test
result = ping("google.com")
print(f"Ping success: {result['success']}")
print(f"Average time: {result['avg_time']} ms")

# DNS lookup
result = dns_lookup("github.com")
print(f"IP address: {result['ip']}")

# Get public IP
result = get_public_ip()
print(f"Your public IP: {result['ip']}")

# NEW v1.1.0: Speed test
speed_result = bandwidth_test('5MB')
print(f"Download speed: {speed_result['download_speed_mbps']} Mbps")

# NEW v1.1.0: Network interfaces
interfaces = get_network_interfaces()
for interface in interfaces['active_interfaces']:
    print(f"{interface['name']}: {interface['ip']}")

๐Ÿ› ๏ธ Fungsi yang Tersedia

๐Ÿ“ ping(host, count=4, timeout=5)

Melakukan ping ke host target.

Parameters:

  • host (str): Hostname atau IP address
  • count (int): Jumlah ping packets (default: 4)
  • timeout (int): Timeout dalam detik (default: 5)

Returns:

{
    'success': True,
    'host': 'google.com',
    'packets_sent': 4,
    'packets_received': 4,
    'packet_loss': 0.0,
    'avg_time': 25.3,
    'min_time': 23.1,
    'max_time': 28.7
}

Contoh:

result = ping("google.com", count=3, timeout=10)
if result['success']:
    print(f"Ping berhasil! Packet loss: {result['packet_loss']}%")

๐Ÿ” traceroute(host, max_hops=30, timeout=5)

Melakukan traceroute ke host target.

Parameters:

  • host (str): Hostname atau IP address
  • max_hops (int): Maximum hops (default: 30)
  • timeout (int): Timeout per hop (default: 5)

Returns:

{
    'success': True,
    'host': 'google.com',
    'total_hops': 12,
    'destination_reached': True,
    'hops': [
        {
            'number': 1,
            'ip': '192.168.1.1',
            'hostname': 'router.local',
            'avg_time': 1.2,
            'status': 'success'
        },
        # ... more hops
    ]
}

๐Ÿ  get_local_ip()

Mendapatkan IP address lokal.

Returns:

{
    'success': True,
    'ip': '192.168.1.100',
    'method': 'socket_connect'
}

๐ŸŒ get_public_ip()

Mendapatkan IP address publik.

Returns:

{
    'success': True,
    'ip': '203.194.112.34',
    'service': 'ipify'
}

๐Ÿ”’ scan_ports(host, start_port=1, end_port=1024, timeout=1)

Melakukan TCP port scanning.

Parameters:

  • host (str): Target hostname atau IP
  • start_port (int): Port awal (default: 1)
  • end_port (int): Port akhir (default: 1024)
  • timeout (float): Connection timeout (default: 1)

Returns:

{
    'success': True,
    'host': 'google.com',
    'target_ip': '142.250.190.78',
    'open_ports': [80, 443],
    'closed_ports': [21, 22, 23, ...],
    'total_ports_scanned': 1024,
    'scan_time': 15.3
}

๐Ÿ”Ž dns_lookup(hostname)

Melakukan DNS lookup.

Parameters:

  • hostname (str): Hostname yang akan di-resolve

Returns:

{
    'success': True,
    'hostname': 'google.com',
    'ip': '142.250.190.78',
    'ips': ['142.250.190.78', '142.250.190.77'],
    'lookup_time': 0.045
}

๐Ÿ†• Fungsi Baru v1.1.0

๐Ÿš€ bandwidth_test(test_size='5MB', timeout=30)

Melakukan bandwidth test dengan download file test.

Parameters:

  • test_size (str): Ukuran test file ('1MB', '5MB', '10MB')
  • timeout (int): Timeout dalam detik (default: 30)

Returns:

{
    'success': True,
    'test_size': '5MB',
    'download_speed_mbps': 25.34,
    'download_time': 1.58,
    'bytes_downloaded': 5242880,
    'test_url': 'https://speed.hetzner.de/5MB.bin'
}

๐Ÿ“Š ping_latency_test(host, count=10)

Advanced latency analysis dengan statistik lengkap.

Parameters:

  • host (str): Hostname atau IP address
  • count (int): Jumlah ping (default: 10)

Returns:

{
    'success': True,
    'host': 'google.com',
    'total_pings': 10,
    'successful_pings': 10,
    'avg_latency': 28.5,
    'min_latency': 22.1,
    'max_latency': 35.7,
    'jitter': 4.2,
    'packet_loss_percent': 0.0
}

๐ŸŒ get_network_interfaces()

Mendapatkan informasi semua network interfaces.

Returns:

{
    'success': True,
    'system': 'windows',
    'total_interfaces': 5,
    'active_interfaces': [
        {
            'name': 'Wi-Fi',
            'ip': '192.168.1.100',
            'mac': '00:11:22:33:44:55',
            'status': 'up',
            'type': 'wireless'
        }
    ]
}

๐Ÿ“ค export_results(results, filename, format='json')

Export test results ke file.

Parameters:

  • results (dict): Hasil dari fungsi netdiag
  • filename (str): Nama file output
  • format (str): Format export ('json', 'csv', 'txt')

Returns:

{
    'success': True,
    'filename': 'ping_test_20251002.json',
    'format': 'json',
    'file_size': 1024,
    'records_exported': 1
}

๐Ÿ” connection_quality_test(host)

Comprehensive connection quality assessment.

Returns:

{
    'success': True,
    'quality_score': 85,
    'quality_rating': 'Very Good',
    'bandwidth_test': {...},
    'latency_test': {...},
    'recommendations': [
        'Connection quality looks good!',
        'Suitable for HD streaming and gaming'
    ]
}

## ๐Ÿ–ฅ๏ธ Command Line Interface

Netdiag menyediakan interface command line yang lengkap:

### Network Diagnostics
```bash
# Ping testing
python -m netdiag ping google.com
python -m netdiag ping google.com 5 10  # 5 packets, 10s timeout

# Traceroute
python -m netdiag traceroute google.com
python -m netdiag traceroute google.com 20 3  # max 20 hops, 3s timeout

# Port scanning
python -m netdiag scan google.com 80 443 22
python -m netdiag scan-range google.com 80 90  # scan range 80-90

๐Ÿš€ Performance Testing (NEW v1.1.0)

# Speed test - bandwidth testing
python -m netdiag speedtest
python -m netdiag speedtest --host httpbin.org --duration 10

# Latency analysis
python -m netdiag latency google.com
python -m netdiag latency google.com --count 20

# Connection quality assessment
python -m netdiag quality google.com

๐Ÿ”ง System Analysis (NEW v1.1.0)

# Network interfaces discovery
python -m netdiag interfaces

# Network configuration analysis
python -m netdiag analyze

๐Ÿ“Š Export & Logging (NEW v1.1.0)

# Export results to various formats
python -m netdiag export results.json --format json
python -m netdiag export results.csv --format csv

IP Utilities

python -m netdiag localip
python -m netdiag publicip
python -m netdiag ipinfo 8.8.8.8

Port Scanning

python -m netdiag portscan google.com common
python -m netdiag portscan google.com 1 100

DNS Lookup

python -m netdiag dns google.com
python -m netdiag dns reverse 8.8.8.8
python -m netdiag dns info github.com
python -m netdiag dns bulk google.com,github.com,stackoverflow.com

๐Ÿ†• NEW v1.1.0 Commands

Speed Testing

python -m netdiag speedtest 5MB
python -m netdiag speedtest latency google.com
python -m netdiag speedtest quality google.com

Network Interfaces

python -m netdiag interfaces
python -m netdiag interfaces gateway

Network Analysis

python -m netdiag analyze

Export Results

python -m netdiag export json results
python -m netdiag export csv results

Help

python -m netdiag help

๐Ÿ’ก Contoh Penggunaan

๐Ÿ”ฌ Analisis Host Lengkap dengan Fitur Baru

from netdiag import *

def comprehensive_host_analysis(hostname):
    print(f"๐Ÿ”ฌ Comprehensive Analysis of {hostname}...")
    
    # 1. DNS Resolution
    dns_result = dns_lookup(hostname)
    if dns_result['success']:
        ip = dns_result['ip']
        print(f"โœ… Resolved to: {ip}")
    else:
        print(f"โŒ DNS failed: {dns_result['error']}")
        return
    
    # 2. Connectivity Test
    ping_result = ping(ip, count=5)
    if ping_result['success']:
        print(f"โœ… Host reachable (avg: {ping_result['avg_time']} ms)")
    else:
        print(f"โŒ Host unreachable")
        return
    
    # 3. Connection Quality Assessment (NEW v1.1.0)
    quality_result = connection_quality_test(hostname)
    if quality_result['success']:
        print(f"๐ŸŽฏ Connection Quality: {quality_result['quality_rating']} (Score: {quality_result['quality_score']}/100)")
    
    # 4. Bandwidth Test (NEW v1.1.0)
    bandwidth_result = bandwidth_test(host=hostname, duration=5)
    if bandwidth_result['success']:
        print(f"๐Ÿš€ Bandwidth: {bandwidth_result['download_speed']:.2f} MB/s down, {bandwidth_result['upload_speed']:.2f} MB/s up")
    
    # 5. Port Scan
    from netdiag.portscan import scan_common_ports
    port_result = scan_common_ports(hostname)
    if port_result['success'] and port_result['open_ports']:
        print(f"๐Ÿ”“ Open services: {port_result['open_ports']}")
    
    # 6. Export Results (NEW v1.1.0)
    results = {
        'hostname': hostname,
        'dns': dns_result,
        'ping': ping_result,
        'quality': quality_result,
        'bandwidth': bandwidth_result,
        'ports': port_result
    }
    
    export_result = export_results(results, f'{hostname}_analysis', 'json')
    if export_result['success']:
        print(f"๐Ÿ“„ Results exported to: {export_result['filename']}")

# Jalankan analisis lengkap
comprehensive_host_analysis("github.com")

๐ŸŒ Network System Analysis (NEW v1.1.0)

from netdiag import get_network_interfaces, get_default_gateway, analyze_network_config

def analyze_network_system():
    print("๐Ÿ”ง Analyzing Network System Configuration...")
    
    # 1. Network Interfaces
    interfaces = get_network_interfaces()
    if interfaces['success']:
        print(f"๐Ÿ”Œ Found {len(interfaces['interfaces'])} network interfaces:")
        for iface in interfaces['interfaces']:
            print(f"  - {iface['name']}: {iface['ip']} ({iface['status']})")
    
    # 2. Default Gateway
    gateway = get_default_gateway()
    if gateway['success']:
        print(f"๐ŸŒ‰ Default Gateway: {gateway['gateway']}")
    
    # 3. Network Configuration Analysis
    config = analyze_network_config()
    if config['success']:
        print(f"๏ฟฝ Network Analysis:")
        print(f"  - Active Interfaces: {len(config['active_interfaces'])}")
        print(f"  - Default Route: {config['default_route']}")
        print(f"  - DNS Servers: {', '.join(config.get('dns_servers', []))}")

analyze_network_system()

๐Ÿ“Š Performance Monitoring with Export

from netdiag import ping_latency_test, bandwidth_test, export_results
from netdiag.export import NetdiagLogger
import time

def monitor_performance(host, duration_minutes=5):
    logger = NetdiagLogger('performance_monitor')
    results = []
    
    print(f"๐Ÿ“ˆ Monitoring {host} for {duration_minutes} minutes...")
    
    end_time = time.time() + (duration_minutes * 60)
    
    while time.time() < end_time:
        # Latency test
        latency = ping_latency_test(host, count=3)
        
        # Bandwidth test (shorter duration for monitoring)
        bandwidth = bandwidth_test(host=host, duration=3)
        
        result = {
            'timestamp': time.time(),
            'host': host,
            'latency': latency,
            'bandwidth': bandwidth
        }
        
        results.append(result)
        logger.log_test_result('performance_monitor', result)
        
        if latency['success']:
            print(f"โฑ๏ธ  Latency: {latency['avg_ms']:.1f}ms", end="")
        
        if bandwidth['success']:
            print(f" | ๐Ÿš€ Speed: {bandwidth['download_speed']:.1f} MB/s")
        
        time.sleep(30)  # Test every 30 seconds
    
    # Export all results
    export_results(results, f'{host}_performance_monitor', 'csv')
    print(f"โœ… Monitoring complete. Results saved.")

# Monitor performance
monitor_performance("google.com", duration_minutes=2)

๐Ÿ” Multi-Host Network Assessment

from netdiag import dns_bulk_lookup, ping, connection_quality_test

def assess_multiple_hosts(hostnames):
    print("๐ŸŽฏ Assessing Multiple Hosts...")
    
    # Bulk DNS lookup
    dns_results = dns_bulk_lookup(hostnames)
    assessment_results = []
    
    for result in dns_results['results']:
        if result['success']:
            host_assessment = {
                'hostname': result['hostname'],
                'ip': result['ip']
            }
            
            # Quick ping test
            ping_result = ping(result['ip'], count=3, timeout=5)
            host_assessment['ping'] = ping_result
            
            # Quality assessment for reachable hosts
            if ping_result['success']:
                quality = connection_quality_test(result['hostname'])
                host_assessment['quality'] = quality
                
                status = "๏ฟฝ EXCELLENT" if quality.get('quality_score', 0) > 80 else \
                        "๐ŸŸก GOOD" if quality.get('quality_score', 0) > 60 else \
                        "๐Ÿ”ด POOR"
                
                print(f"{status} {result['hostname']}: {quality.get('quality_rating', 'Unknown')}")
            else:
                print(f"๐Ÿ”ด DOWN {result['hostname']}: Unreachable")
            
            assessment_results.append(host_assessment)
    
    # Export comprehensive results
    export_results(assessment_results, 'multi_host_assessment', 'json')
    return assessment_results

# Assess multiple hosts
hosts = ["google.com", "github.com", "stackoverflow.com", "reddit.com"]
assess_multiple_hosts(hosts)

๐Ÿ“ Struktur Proyek v1.1.0

netdiag/
โ”œโ”€โ”€ netdiag/
โ”‚   โ”œโ”€โ”€ __init__.py          # Main package exports (19 functions)
โ”‚   โ”œโ”€โ”€ __main__.py          # Enhanced CLI interface (11 commands)
โ”‚   โ”œโ”€โ”€ ping.py              # Ping functionality
โ”‚   โ”œโ”€โ”€ traceroute.py        # Traceroute functionality  
โ”‚   โ”œโ”€โ”€ iputils.py           # IP utilities (local/public IP, IP info)
โ”‚   โ”œโ”€โ”€ portscan.py          # Port scanning capabilities
โ”‚   โ”œโ”€โ”€ dnslookup.py         # DNS lookup operations
โ”‚   โ”œโ”€โ”€ speedtest.py         # ๐Ÿ†• Bandwidth testing & latency analysis
โ”‚   โ”œโ”€โ”€ interfaces.py        # ๐Ÿ†• Network interfaces & system discovery
โ”‚   โ””โ”€โ”€ export.py            # ๐Ÿ†• Results export & advanced logging
โ”œโ”€โ”€ setup.py                 # Package setup (v1.1.0)
โ”œโ”€โ”€ README.md               # Enhanced documentation  
โ”œโ”€โ”€ CHANGELOG.md            # ๐Ÿ†• Version history & features
โ””โ”€โ”€ example.py              # Updated usage examples with new features

๐Ÿ†• New Modules in v1.1.0

  • speedtest.py: Bandwidth testing, latency analysis, connection quality assessment
  • interfaces.py: Network interface discovery, gateway detection, configuration analysis
  • export.py: Multi-format export (JSON/CSV/TXT), advanced logging, batch operations

๐Ÿงช Testing dan Development

Menjalankan Contoh dengan Fitur Baru

# Jalankan semua demo (including new v1.1.0 features)
python example.py

# Jalankan demo spesifik
python example.py ping
python example.py dns  
python example.py port
python example.py speedtest    # ๐Ÿ†• NEW v1.1.0
python example.py interfaces   # ๐Ÿ†• NEW v1.1.0

Testing Fitur Baru v1.1.0

# Test bandwidth capabilities
python -c "from netdiag import bandwidth_test; print(bandwidth_test())"

# Test network interfaces
python -c "from netdiag import get_network_interfaces; print(get_network_interfaces())"

# Test connection quality  
python -c "from netdiag import connection_quality_test; print(connection_quality_test('google.com'))"

# Test export functionality
python -c "from netdiag import export_results; print(export_results({'test': 'data'}, 'test', 'json'))"

Manual Testing dari Command Line

# Test original functionality
python -m netdiag ping google.com
python -m netdiag traceroute google.com  
python -m netdiag portscan google.com common

# Test new v1.1.0 CLI commands
python -m netdiag speedtest
python -m netdiag interfaces
python -m netdiag analyze
python -m netdiag export test_results.json --format json

๐ŸŽ“ Educational Notes

Konsep yang Dipelajari dalam v1.1.0

  1. Advanced Networking

    • Bandwidth measurement techniques
    • Network interface enumeration
    • Quality of Service (QoS) assessment
    • Performance monitoring methodologies
  2. Enhanced Python Programming

    • Concurrent testing with threading
    • File I/O operations (JSON, CSV, TXT)
    • Cross-platform system calls
    • Advanced data structure manipulation
    • Logging and monitoring systems
  3. Professional Development Practices

    • Version management and changelog maintenance
    • Backward compatibility preservation
    • Comprehensive documentation
    • Modular architecture design

Best Practices Demonstrated

  • โœ… Standard library preference for compatibility
  • โœ… Robust error handling with detailed feedback
  • โœ… Comprehensive documentation with examples
  • โœ… Modular, reusable code architecture
  • โœ… Cross-platform compatibility maintained
  • โœ… NEW: Performance testing methodologies
  • โœ… NEW: Data export and persistence patterns
  • โœ… NEW: System configuration analysis

๐Ÿ”ง Advanced Usage Examples

Custom Performance Monitoring

from netdiag import ping_latency_test, bandwidth_test
from netdiag.export import NetdiagLogger
import time

# Setup monitoring
logger = NetdiagLogger('network_monitor')
hosts = ['google.com', 'github.com', 'stackoverflow.com']

for host in hosts:
    # Comprehensive testing
    latency = ping_latency_test(host, count=10)
    bandwidth = bandwidth_test(host=host, duration=5)
    
    # Log results
    logger.log_test_result('monitoring', {
        'host': host,
        'latency': latency,
        'bandwidth': bandwidth,
        'timestamp': time.time()
    })

Network Interface Analysis

from netdiag import get_network_interfaces, get_default_gateway, analyze_network_config

# Get detailed interface information
interfaces = get_network_interfaces()
gateway = get_default_gateway()
config = analyze_network_config()

# Analyze configuration
if all([interfaces['success'], gateway['success'], config['success']]):
    print("๐Ÿ”ง Network Configuration Summary:")
    print(f"   Active Interfaces: {len(config['active_interfaces'])}")
    print(f"   Default Gateway: {gateway['gateway']}")
    print(f"   Primary Interface: {config.get('primary_interface', 'Unknown')}")

๐Ÿ†• What's New in v1.1.0

Major Enhancements

  • ๐Ÿš€ Bandwidth Testing: Real-world speed testing capabilities
  • ๐Ÿ”ง System Analysis: Network interface and configuration discovery
  • ๐Ÿ“Š Export Functions: Multi-format result export with logging
  • โšก Performance Tools: Latency analysis and connection quality assessment
  • ๐ŸŽฏ Enhanced CLI: 4 new command-line tools for advanced diagnostics

Compatibility

  • โœ… Modern Python: Upgraded to Python 3.7+ with modern type hints and features
  • โœ… Enhanced Architecture: Clean code principles with dataclasses and protocols
  • โœ… Cross-Platform: Windows, macOS, and Linux support preserved
  • โœ… Dependencies: Still uses only Python standard library

โš ๏ธ Limitations dan Considerations

Performance Considerations

  • Bandwidth Testing: May consume network data during testing
  • Port Scanning: Large ranges may take significant time
  • Concurrent Operations: Threading used but limited by network latency

Platform-Specific Notes

  • Windows: Some network interface data requires elevated privileges
  • macOS/Linux: Better support for detailed interface information
  • Network Dependencies: Internet connection required for external tests

Rate Limiting

  • External APIs: IP geolocation services may have rate limits
  • Bandwidth Tests: Avoid excessive testing to prevent ISP throttling
  • DNS Queries: Bulk operations should be used responsibly

๐Ÿค Contributing

Contributions welcome! For v1.1.0 and beyond:

  1. Fork repository ini
  2. Buat feature branch (git checkout -b feature/AmazingFeature)
  3. Test fitur baru dengan python example.py
  4. Update documentation jika diperlukan
  5. Commit changes (git commit -m 'Add some AmazingFeature')
  6. Push ke branch (git push origin feature/AmazingFeature)
  7. Buat Pull Request

Development Areas for Future Versions

  • IPv6 support enhancement
  • Additional export formats (XML, YAML)
  • Real-time monitoring dashboard
  • Network security scanning features
  • Integration with network monitoring tools

๐Ÿ“œ License

Distributed under the MIT License. See LICENSE file for more information.

๐Ÿ“ž Support & Resources

  • ๐Ÿ“š Documentation: This README and inline code comments
  • ๐Ÿ› Bug Reports: Please open GitHub issues
  • ๐Ÿ’ก Feature Requests: Suggestions welcome via GitHub discussions
  • ๐Ÿ“– Learning: Check example.py for practical usage patterns
  • ๐Ÿ“‹ Changelog: See CHANGELOG.md for version history

netdiag v1.1.0 - From simple educational tool to professional networking toolkit! ๐Ÿš€

Jika ada pertanyaan atau issues:

๐Ÿ™ Acknowledgments

  • Terima kasih kepada komunitas Python untuk standard library yang powerful
  • Inspirasi dari tools networking klasik seperti ping, traceroute, nmap
  • Educational focus untuk mahasiswa Teknologi Rekayasa Internet

Happy Networking! ๐Ÿš€

"Understanding networks through code" - Netdiag Team

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

netdiag-1.1.0.tar.gz (198.3 kB view details)

Uploaded Source

Built Distribution

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

netdiag-1.1.0-py3-none-any.whl (58.0 kB view details)

Uploaded Python 3

File details

Details for the file netdiag-1.1.0.tar.gz.

File metadata

  • Download URL: netdiag-1.1.0.tar.gz
  • Upload date:
  • Size: 198.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for netdiag-1.1.0.tar.gz
Algorithm Hash digest
SHA256 33e60efcd2d835420b570fd377021007c47e9264ff05063bef170ef98b867884
MD5 8dcba41f25f44716dde37e03cd965357
BLAKE2b-256 6d50f2753927a7c213a098c8c484209804502bb98d57bc7e7f3fe303c41d4a3c

See more details on using hashes here.

File details

Details for the file netdiag-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: netdiag-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 58.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for netdiag-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08c55b79a60f54bba3960409cb8bfa37d585e20b1d7b3697ccea1bf9af0feb5f
MD5 b8eed8fc6045721df5d2df6416a2b694
BLAKE2b-256 ae4a3e2205c3c5ff93864b8c4a50647358a85af0c045c416293ab69c1e6c0e4c

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