Thanks to visit codestin.com
Credit goes to github.com

Skip to content

- One-click network traffic scanning - Detects all processes with active network connections - Displays process icons, names, PIDs, and connection details - Real-time bandwidth monitoring (sent/received)

Notifications You must be signed in to change notification settings

adirel/traffic-live-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ Network Traffic Monitor

Because wondering "what the heck is eating my bandwidth?" at 3 AM is a universal experience.

A futuristic-looking network traffic monitor that lets you spy on (your own) apps and see exactly where they're phoning home. Built with Electron, React, and C# because apparently I enjoy suffering.

Risk Level: High Coffee Required: Yes

๐ŸŽฏ What Does This Thing Do?

Ever wondered which apps are secretly sending your cat photos to the cloud? Or why your computer sounds like a jet engine when you're "just browsing"? This tool helps you answer those burning questions by:

  • Scanning network activity - See every app making connections in real-time
  • Live monitoring - Like a security camera for your network traffic (updates every 5 seconds)
  • Security analysis - Tells you if an app is digitally signed or if it's running from your temp folder like a suspicious character
  • DNS resolution - Shows actual domain names instead of cryptic IP addresses
  • Risk assessment - Rates apps from "chill" to "yikes" based on behavior patterns
  • Export to CSV - Because spreadsheets never go out of style

Screen shots

quick scan

main

app details and risk assessment

main

๐Ÿ—๏ธ Architecture (The Spicy Technical Bits)

The Players

Frontend (Electron + React + TypeScript)

  • Lives in: app/
  • Job: Looking pretty and showing you stuff
  • Tech: Electron 40, React 18, Vite, TailwindCSS
  • Aesthetic: Cyberpunk glassmorphism with neon cyan accents (yes, really)
  • Runs as: Regular user (no admin needed on this side)

Backend (C# .NET 8.0)

  • Lives in: backend/CaptureService/
  • Job: The heavy lifting and actual network inspection
  • Tech: SharpPcap for packet capture, Windows IP Helper API for connection details
  • Runs as: Administrator (because Windows won't let peasants see network stuff)
  • Communication: TCP on localhost:9876 (fancy, I know)

How They Talk

Frontend (you)  <--TCP Socket (JSON)-->  Backend Service (admin)
    ^                                            |
    |                                            v
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ "Hey, what's connected?" โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                                 |
                                                 v
                                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                                    โ”‚ Windows Network APIs  โ”‚
                                    โ”‚ (TCP/UDP tables)      โ”‚
                                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

The frontend asks nicely, the backend (running with elevated privileges) talks to Windows, and they exchange JSON over a local TCP connection. It's like a very boring spy movie.

Key Features Under the Hood

  • SharpPcap: For actual packet sniffing (when available)
  • Windows IP Helper API: GetExtendedTcpTable/GetExtendedUdpTable for connection details
  • Digital Signature Verification: Uses X509Certificate to check if executables are signed
  • Async DNS Resolution: 500ms timeout so slow DNS servers don't freeze the UI
  • Thread-Safe Caching: ConcurrentDictionary because race conditions are scary
  • Service Name Mapping: 80+ common ports identified (HTTP, HTTPS, SSH, RDP, etc.)
  • Risk Scoring System: Weighs factors like unsigned executables, temp folder locations, and connection patterns

๐Ÿš€ Running This Beast

Prerequisites

  • Windows 10/11 (because we're using Windows-specific APIs)
  • Node.js 18+ (for the frontend)
  • .NET 8.0 SDK (for the backend)
  • Administrator privileges (the backend service needs this)
  • Coffee (optional but recommended)

Backend Setup

  1. Navigate to the backend folder:
cd backend\CaptureService
  1. Build it:
dotnet build -c Release
  1. Run it as admin (this will pop up a UAC prompt):
Start-Process powershell -ArgumentList "-NoExit", "-Command", "cd '$PWD'; dotnet run -c Release" -Verb RunAs

You should see:

๐Ÿš€ Network Capture Service started
๐Ÿ“ก TCP Server listening on localhost:9876

Keep this window open. If it closes, the app won't work (obviously).

Frontend Setup

In a different terminal (regular user, no admin needed):

  1. Go to the app folder:
cd app
  1. Install dependencies (first time only):
npm install
  1. Run the dev server:
npm run dev

The Electron app should launch automatically. If not, check if:

  • The backend is running (see above)
  • Port 9876 isn't being used by something else
  • Your antivirus isn't being overly protective

๐ŸŽฎ Using The App

Quick Scan

Click the big shiny "START SCAN" button. Watch as apps with active connections appear. Click any process to see detailed connection info, security analysis, and more.

Live Monitor

Switch to the "Live Monitor" tab and hit "Start Live Monitor". It'll scan every 5 seconds and show you NEW apps that weren't in the previous scan. Great for catching sneaky background processes.

Security Risk Levels

  • Low Risk: Digitally signed by Microsoft/Google/etc, normal behavior
  • Medium Risk: Unsigned or mildly suspicious patterns
  • High Risk: Unsigned + running from temp folder + 50 connections = ๐Ÿšฉ

Settings

  • Theme Toggle: Switch between dark and light mode (dark mode is objectively superior but I won't judge)
  • Export to CSV: Download all your scan history for Excel adventures

๐Ÿ› Known Issues / Quirks

  • "Why don't I see all Chrome tabs?" - Modern browsers use HTTP/2 and connection pooling. Multiple tabs to the same site share one TCP connection. Physics, not bugs.
  • "Some hostnames show as IPs" - DNS resolution has a 500ms timeout. If it's slow or the IP has no reverse DNS, you get the raw IP.
  • "The app needs admin?" - Only the backend. Windows locks down network APIs harder than Fort Knox.
  • "Risk level seems harsh" - Better safe than sorry. Review the security warnings to understand why.

๐Ÿ“ Project Structure

internet-outgoing/
โ”œโ”€โ”€ app/                          # Electron frontend
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ main/                 # Electron main process
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ main.ts           # IPC handlers, backend connection
โ”‚   โ”‚   โ”œโ”€โ”€ preload/              # Preload scripts
โ”‚   โ”‚   โ””โ”€โ”€ renderer/             # React UI
โ”‚   โ”‚       โ”œโ”€โ”€ src/
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ components/   # UI components
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ About.tsx
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ LiveScan.tsx
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ Navigation.tsx
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ ProcessList.tsx
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ ScanHistory.tsx
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ Settings.tsx
โ”‚   โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ TitleBar.tsx
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ styles/       # CSS (dark/light themes)
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ types/        # TypeScript interfaces
โ”‚   โ”‚       โ”‚   โ””โ”€โ”€ App.tsx       # Main app component
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ””โ”€โ”€ backend/                      # C# .NET backend
    โ””โ”€โ”€ CaptureService/
        โ”œโ”€โ”€ CaptureEngine.cs      # SharpPcap wrapper
        โ”œโ”€โ”€ ProcessHelper.cs      # Connection detection, security analysis
        โ”œโ”€โ”€ PipeServer.cs         # TCP server (yes, bad naming)
        โ”œโ”€โ”€ Program.cs            # Entry point, admin check
        โ””โ”€โ”€ CaptureService.csproj

๐Ÿ› ๏ธ Building for Production

Frontend

cd app
npm run build

Creates a portable executable in app/dist/.

Backend

cd backend\CaptureService
dotnet publish -c Release

Output in backend\CaptureService\bin\Release\net8.0\publish\.

๐Ÿค Contributing

Found a bug? Want to add a feature? PRs welcome! Just:

  1. Don't break the build
  2. Keep the neon cyan aesthetic (it's non-negotiable)
  3. Add comments if your code is clever
  4. Test on Windows (this ain't cross-platform, friend)

โš ๏ธ Disclaimer

This tool requires admin privileges and inspects network traffic. Use responsibly:

  • โœ… Monitoring your own computer
  • โœ… Debugging network issues
  • โœ… Learning about network activity
  • โŒ Monitoring other people's computers without permission
  • โŒ Doing anything illegal

I'm not your lawyer, but I'm pretty sure hacking is frowned upon in most jurisdictions.

๐Ÿ“ License

MIT - Do whatever you want, just don't blame me if something breaks.

๐Ÿ™ Acknowledgments

  • SharpPcap - For making packet capture less painful
  • Electron - For making desktop apps with web tech (controversial but here we are)
  • Coffee - The real MVP
  • Stack Overflow - You know why

๐Ÿ’ฌ Questions?

Open an issue, send a PR, or yell into the void. One of those might work.


Built with ๐Ÿ’™, โ˜•, and a concerning amount of neon cyan.

About

- One-click network traffic scanning - Detects all processes with active network connections - Displays process icons, names, PIDs, and connection details - Real-time bandwidth monitoring (sent/received)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published