惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
博客园_首页
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
MongoDB | Blog
MongoDB | Blog
美团技术团队
H
Help Net Security
G
Google Developers Blog
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
aimingoo的专栏
aimingoo的专栏
Google DeepMind News
Google DeepMind News
J
Java Code Geeks
M
MIT News - Artificial intelligence
腾讯CDC
IT之家
IT之家
Vercel News
Vercel News
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
Last Week in AI
Last Week in AI
I
InfoQ
博客园 - 司徒正美
A
About on SuperTechFans

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Stop Guessing Your Network: Using PowerShell and TCP Comm...
Ikegbo Ogoch · 2026-05-20 · via DEV Community

Most developers and IT beginners only touch networking when something breaks.

The internet is “working,” the API is responding, Docker containers are starting, and life moves on.

Until one day:

  • Your app cannot connect to a database
  • Docker says the daemon is unreachable
  • A server responds slowly for no obvious reason
  • A device disappears from the network
  • SSH refuses connections
  • Your Raspberry Pi suddenly becomes invisible

That is usually when people realize they do not actually understand their network.

One of the best ways to fix that is by learning how to inspect and troubleshoot networks directly from the terminal using PowerShell and TCP-based tools.

This post is inspired by a networking article from Paessler Blog and expands it into a more developer-focused practical guide. (blog.paessler.com)


Why PowerShell Matters for Networking

For years, networking on Windows relied heavily on old tools like:

  • ping
  • ipconfig
  • netstat
  • tracert
  • netsh

These still work.

But modern Windows networking is increasingly PowerShell-driven. Microsoft has gradually shifted many administration and diagnostic workflows toward PowerShell because it is:

  • scriptable
  • automatable
  • object-oriented
  • easier to integrate into larger workflows

Instead of parsing messy text output, PowerShell returns structured objects you can filter, sort, and automate. (blog.paessler.com)


Understanding TCP Before Troubleshooting

Most developer tools rely on TCP underneath:

  • Docker
  • APIs
  • databases
  • SSH
  • web servers
  • cloud platforms

TCP (Transmission Control Protocol) is responsible for:

  • reliable communication
  • packet ordering
  • retransmission
  • connection establishment

When applications fail to communicate, the problem is often not the application itself — it is the TCP/network layer.

Understanding a few networking commands can save hours of frustration.


1. Check Your Network Configuration

The first thing to inspect is your machine’s network configuration.

Get-NetIPAddress

Enter fullscreen mode Exit fullscreen mode

This gives you:

  • IP address
  • subnet
  • interface
  • IPv4/IPv6 details

You can also use:

ipconfig

Enter fullscreen mode Exit fullscreen mode

But PowerShell gives more structured information.


2. Test Connectivity Properly

Most people know ping.

PowerShell modernizes it with:

Test-Connection google.com

Enter fullscreen mode Exit fullscreen mode

You can test multiple systems:

Test-Connection google.com, github.com

Enter fullscreen mode Exit fullscreen mode

Or continuously monitor latency:

Test-Connection 192.168.1.1 -Count 10

Enter fullscreen mode Exit fullscreen mode

This helps detect:

  • unstable Wi-Fi
  • packet loss
  • intermittent routing issues

Microsoft’s networking documentation also recommends PowerShell-based connectivity testing for modern administration workflows. (Microsoft Learn)


3. Discover Devices on Your Network

One of the most useful troubleshooting techniques is identifying what devices are actually online.

You can inspect your ARP table:

arp -a

Enter fullscreen mode Exit fullscreen mode

This maps:

  • IP addresses
  • MAC addresses

to devices your machine has communicated with recently.

Modern network discovery guides still rely heavily on ARP-based discovery for local troubleshooting. (blog.paessler.com)


4. Scan an Entire Subnet

Suppose your Raspberry Pi disappeared from the network.

You can sweep your subnet:

1..254 | ForEach-Object {
    Test-Connection "192.168.1.$_" -Count 1 -Quiet
}

Enter fullscreen mode Exit fullscreen mode

This checks which devices respond.

Microsoft demonstrates similar subnet enumeration approaches in PowerShell networking examples. (Microsoft Learn)


5. Find Open TCP Ports

Sometimes the device is online, but the service is not.

For example:

  • SSH may not be running
  • Docker daemon may be down
  • database service may have crashed

You can test ports directly:

Test-NetConnection 192.168.1.10 -Port 22

Enter fullscreen mode Exit fullscreen mode

Example ports:

Service Port
SSH 22
HTTP 80
HTTPS 443
MySQL 3306
PostgreSQL 5432
Docker API 2375/2376

This immediately tells you whether the issue is:

  • routing
  • firewall
  • service availability
  • TCP-level rejection

6. Monitor Active TCP Connections

To inspect live connections:

Get-NetTCPConnection

Enter fullscreen mode Exit fullscreen mode

You can filter by state:

Get-NetTCPConnection | Where-Object {$_.State -eq "Established"}

Enter fullscreen mode Exit fullscreen mode

Or inspect a specific port:

Get-NetTCPConnection -LocalPort 80

Enter fullscreen mode Exit fullscreen mode

This is extremely useful when debugging:

  • APIs
  • containers
  • backend services
  • reverse proxies

7. Troubleshoot Docker Connectivity

If Docker suddenly breaks on Windows, PowerShell networking commands become incredibly useful.

For example, errors like:

failed to connect to the docker API

Enter fullscreen mode Exit fullscreen mode

often indicate:

  • Docker daemon stopped
  • named pipe failure
  • TCP bridge issue
  • virtualization problem

Useful checks:

Get-Service *docker*

Enter fullscreen mode Exit fullscreen mode

Test-NetConnection localhost -Port 2375

Enter fullscreen mode Exit fullscreen mode

docker context ls

Enter fullscreen mode Exit fullscreen mode

Understanding networking basics makes Docker troubleshooting much easier because Docker heavily relies on virtual networking and TCP communication internally.


8. Automate Network Diagnostics

This is where PowerShell becomes powerful.

Instead of manually checking systems one by one, you can automate diagnostics.

Example:

$servers = @(
    "192.168.1.10",
    "192.168.1.11",
    "192.168.1.12"
)

foreach ($server in $servers) {
    Test-NetConnection $server -Port 22
}

Enter fullscreen mode Exit fullscreen mode

Now you can verify SSH availability across multiple systems automatically.

This scales extremely well for:

  • labs
  • classrooms
  • hubs
  • server farms
  • IoT deployments

9. Network Monitoring at Scale

At some point, command-line troubleshooting is not enough.

That is where monitoring systems come in.

Platforms like PRTG Network Monitor automate:

  • network discovery
  • latency tracking
  • device monitoring
  • traffic inspection
  • uptime monitoring

Modern network visibility systems combine:

  • ARP discovery
  • TCP monitoring
  • SNMP
  • device inventories
  • automated alerting

to give administrators full infrastructure visibility. (blog.paessler.com)


Real Lesson: Developers Need Networking Skills

One pattern keeps repeating in modern software engineering:

The deeper you go, the more networking matters.

Machine learning engineers, backend developers, DevOps engineers, cybersecurity analysts, embedded engineers, and cloud architects all eventually run into:

  • ports
  • sockets
  • firewalls
  • routing
  • DNS
  • TCP failures

Networking knowledge is no longer optional.


Final Thoughts

Learning PowerShell networking commands is not about becoming a network engineer overnight.

It is about gaining visibility.

Once you can inspect:

  • connections
  • devices
  • ports
  • adapters
  • latency
  • routing

you stop guessing and start diagnosing systems properly.

And honestly, that is one of the biggest transitions from beginner developer to advanced engineer.


Further Reading

(blog.paessler.com)