if == " main ": print("🧪 GSM Laboratory Tool v1.0") print("============================")
def arfcn_to_freq(arfcn, band): """Convert ARFCN to downlink frequency in MHz""" if band == 'GSM850': return 869 + 0.2 * (arfcn - 128) elif band == 'EGSM900': if arfcn <= 124: return 925 + 0.2 * arfcn else: return 935.2 + 0.2 * (arfcn - 124) elif band == 'DCS1800': return 1805 + 0.2 * (arfcn - 512) elif band == 'PCS1900': return 1930 + 0.2 * (arfcn - 512) else: return None gsm laboratory
def display_results(results): """Pretty print GSM scan results""" print("\n" + "="*80) print("GSM LABORATORY SCAN RESULTS") print("="*80) print(f"{'Band':<12} {'ARFCN':<8} {'Freq (MHz)':<12} {'BSIC':<6} {'RSSI (dBm)':<10}") print("-"*80) for r in results: print(f"{r['band']:<12} {r['arfcn']:<8} {r['freq_mhz']:<12} {r['bsic']:<6} {r['rssi_dbm']:<10}") print("="*80) if == " main ": print("🧪 GSM Laboratory Tool v1