Skip to content

Network DebuggerSee Every Byte Your App Sends

HTTP, WebSocket & Socket.IO inspector for Dart and Flutter — with modern UI, waterfall timeline, breakpoints, and more

Quick Setup

bash
dart pub global activate network_debugger
network_debugger

📚 Quick Start Guide →

dart
import 'package:dio_debugger/dio_debugger.dart';

final dio = Dio()..interceptors.add(DioDebugger());

📚 Dio Debugger documentation →

dart
import 'package:http_debugger/http_debugger.dart';

HttpOverrides.global = DebuggerHttpOverrides();

📚 HTTP Debugger documentation →

dart
import 'package:web_socket_debugger/web_socket_debugger.dart';

final cfg = WebSocketDebugger.attach(baseUrl: 'wss://echo.websocket.events');
final socket = await WebSocketDebugger.connect(config: cfg);

📚 WebSocket Debugger documentation →

dart
import 'package:web_socket_channel_debugger/web_socket_channel_debugger.dart';

final cfg = WebSocketChannelDebugger.attach(baseUrl: 'wss://echo.websocket.events');
final channel = WebSocketChannelDebugger.connect(config: cfg);

📚 WebSocketChannel Debugger documentation →

dart
import 'package:socket_io_client/socket_io_client.dart' as io;
import 'package:socket_io_debugger/socket_io_debugger.dart';

final cfg = SocketIoDebugger.attach(baseUrl: 'https://example.com');
final socket = io.io(cfg.effectiveBaseUrl,
  io.OptionBuilder()
    .setPath(cfg.effectivePath)
    .setQuery(cfg.query)
    .build());

📚 Socket.IO Debugger documentation →

dart
import 'package:firebase_database_debugger/firebase_database_debugger.dart';

final debugger = FirebaseDatabaseDebugger();
final ref = debugger.ref(FirebaseDatabase.instance.ref('users'));

📚 Firebase RTDB Debugger documentation →

Architecture

Your app sends traffic through a local Go proxy. The proxy records everything and forwards it to the real server. The UI connects to the proxy and displays traffic in real time.

Packages

PackageWhat it does
network_debuggerCLI launcher — starts the proxy and opens the UI
dio_debuggerAttaches the proxy to a Dio HTTP client
http_debuggerGlobal HTTP interception via HttpOverrides
web_socket_debuggerIntercepts dart:io WebSocket connections
web_socket_channel_debuggerIntercepts package:web_socket_channel
socket_io_debuggerCaptures Socket.IO events and payloads
firebase_database_debuggerTracks Firebase Realtime Database operations
hex_viewerFlutter widget for viewing binary data in HEX