Yevhenii Kolesnyk

DevOps Engineer

System Engineer

Computer engineer

Software developer

Web developer

Yevhenii Kolesnyk

DevOps Engineer

System Engineer

Computer engineer

Software developer

Web developer

Blog Post

Building NetPulse Diagnostics — iOS Network Troubleshooting Toolkit

May 24, 2026 Development, iOS, Mobile Apps

NetPulse Diagnostics is an iOS network troubleshooting toolkit I developed for iPhone and iPad.

The app is designed to help developers, system administrators, website owners, support teams, and everyday users understand what is happening with their network connection. It brings common diagnostic tools into a clean mobile interface and makes it easier to check DNS, ports, latency, HTTP responses, SSL certificates, LAN devices, public IP address, speed performance, and local network state.

The goal of this project was to build a practical mobile diagnostics app that can be useful both for technical users and for non-technical users who need a clear answer when something does not connect, load, resolve, or respond.

Project Details

Role: Owner / iOS Developer
Platform: iOS / iPadOS
App Type: Network Diagnostics Toolkit
Technologies: SwiftUI, Network.framework, DNS tools, TCP/UDP diagnostics, HTTP probes, SSL inspection, local reports, AdMob
Focus: Network troubleshooting, DNS, ports, certificates, LAN scanning, speed tests, diagnostic history
Status: Published on the App Store
App Store: https://apps.apple.com/en/app/netpulse-diagnostics/id6766052855

What I Developed

I designed and developed NetPulse Diagnostics as a native iOS application for practical network troubleshooting.

The app includes several diagnostic areas: a dashboard for current connection status, a tools section for targeted checks, a LAN scanner, a speed test screen, and a reports section for saved diagnostic history.

The product was built to answer common network questions quickly:

  • Is the device online?
  • Is Wi-Fi, cellular, or VPN active?
  • Does DNS resolve correctly?
  • Is a TCP port reachable?
  • Does an HTTP or HTTPS endpoint respond?
  • Is the SSL/TLS certificate valid and inspectable?
  • What is the public IP address?
  • Are local network devices reachable?
  • What does the current connection speed look like?
  • Can the result be saved and exported?

Dashboard and Network Status

The Dashboard gives the user a quick overview of the current network path.

It shows useful connection indicators such as online status, Wi-Fi or cellular state, VPN detection, IPv4/IPv6 support, DNS availability, metered connection state, low-data mode, and local interfaces visible to iOS.

This makes the app useful before running deeper diagnostics. A user can first understand the current network environment and then decide which test to run next.

Network Tools

The Tools section contains targeted diagnostics for hosts, domains, URLs, ports, and protocols.

I implemented separate flows for:

  • DNS lookup
  • DIG-style DNS record checks
  • ICMP ping
  • TCP connection checks
  • TCP latency testing
  • UDP diagnostic probes
  • HTTP and HTTPS endpoint checks
  • SSL/TLS certificate inspection
  • Public IP detection
  • WHOIS-style lookup
  • Basic route quality approximation

Separating these checks makes the results easier to understand. For example, a website may fail because of DNS, TCP, TLS, HTTP, VPN routing, or local network restrictions. NetPulse helps isolate which layer is causing the issue.

DNS and DIG Diagnostics

NetPulse Diagnostics includes both simple DNS lookup and more advanced DIG-style DNS record checks.

Users can inspect common record types such as A, AAAA, MX, TXT, CNAME, NS, SOA, SRV, CAA, PTR, or ANY, depending on the selected query.

This is useful for website owners, hosting customers, domain administrators, and developers who need to verify whether DNS changes are visible or whether a record is configured correctly.

TCP, UDP and HTTP Checks

The app includes practical connection checks for real-world troubleshooting.

TCP diagnostics can test whether a selected host and port accepts a connection. This is useful for checking services such as HTTPS, SSH, mail ports, databases, reverse proxies, control panels, or custom server ports.

UDP diagnostics are handled separately because UDP is connectionless. The app can send selected UDP probes and explain that a missing response does not always mean the port is closed, because UDP services often reply only to protocol-specific payloads.

HTTP and HTTPS probes help verify whether a URL responds, which status code is returned, how many bytes are received, and whether the endpoint is reachable from the current network.

SSL/TLS Certificate Inspection

I added SSL/TLS certificate inspection so users can check certificate details directly from the app.

This can help when a website has certificate errors, an expired certificate, a wrong issuer, an incomplete chain, or a configuration issue after migration.

The certificate inspection workflow is especially useful for website owners, hosting administrators, and developers who work with HTTPS deployments.

LAN Scanner

NetPulse Diagnostics includes a LAN scanner for networks the user owns or has permission to test.

The scanner supports two practical modes:

  • Ping Sweep
  • Selected TCP Ports

Ping Sweep is useful for finding devices that respond to ICMP echo requests. TCP port scanning is useful when ICMP is blocked but the user still wants to check whether selected services are reachable.

The app keeps the scanner bounded and user-controlled. The user chooses the CIDR range, mode, timeout, host limit, and ports. This keeps the feature focused on responsible local diagnostics rather than uncontrolled scanning.

Speed Testing

The app includes download and upload speed testing.

This helps users understand whether a connection problem is related to DNS, routing, a specific service, or general connection performance.

Speed tests are useful when diagnosing slow websites, unstable VPN connections, mobile networks, Wi-Fi quality, or general Internet performance.

Reports and Local History

NetPulse Diagnostics saves diagnostic results locally.

The Reports section allows users to review previous checks and export reports when needed. This is useful for support cases, troubleshooting history, client reports, or comparing results before and after a DNS, hosting, router, VPN, or certificate change.

The local report workflow is important because it lets users keep useful diagnostic context without requiring an account or cloud service.

Privacy-First Workflow

NetPulse Diagnostics does not require an account.

Reports are stored locally on the device, and diagnostic requests are started by the user when running a selected check, scan, or speed test.

The app does not silently scan networks or run hidden diagnostics. Network checks happen only when the user chooses a specific tool or starts a scan.

This design keeps the workflow transparent and appropriate for a diagnostics utility.

Responsible Diagnostics

NetPulse Diagnostics was built with responsible usage in mind.

LAN scanning is intended only for networks the user owns or has permission to test. iOS may request Local Network permission before local device checks. Some routers, VPNs, firewalls, and cellular networks block ICMP ping, so the app also provides TCP and HTTP checks as practical alternatives.

The app also respects iOS platform limitations. Some traditional desktop network tools, such as full hop-by-hop traceroute or low-level ARP access, are limited by iOS privacy and networking rules. Because of that, NetPulse focuses on App Store-safe diagnostics that can be performed through public APIs and user-initiated checks.

Technical Implementation

The project combines several iOS networking and product systems:

  • SwiftUI application interface
  • Dashboard, Tools, Scanner, Speed, and Reports tabs
  • Network.framework path monitoring
  • Local interface inspection
  • DNS resolution
  • DIG-style DNS queries
  • ICMP ping where available
  • TCP connection and latency checks
  • UDP diagnostic probes
  • HTTP and HTTPS endpoint checks
  • SSL/TLS certificate inspection
  • Public IP detection
  • LAN scanning with ping sweep and selected TCP ports
  • Download and upload speed tests
  • Local diagnostic report storage
  • Exportable diagnostic history
  • App Store-safe HTTP diagnostics support
  • AdMob monetization with rate-limited App Open and Interstitial ads

One of the main engineering challenges was combining many different network tools into one clear mobile interface. Each diagnostic method has different behavior, limitations, and failure cases, so the app needed to explain results clearly instead of simply showing “failed”.

Another challenge was designing the LAN scanner responsibly. The app needed to be useful for local troubleshooting while staying bounded, permission-aware, and appropriate for networks the user owns or has permission to test.

Possible Use Cases

NetPulse Diagnostics can be useful in many situations:

  • A website does not open
  • A DNS record looks wrong
  • A domain migration needs verification
  • A VPN changes routing behavior
  • A certificate needs checking
  • A router or local device disappears from the LAN
  • A service port does not respond
  • A support team needs a quick report
  • A developer wants to validate API or web endpoints
  • A hosting customer needs to check DNS, HTTP, SSL, or ports
  • A home user wants to understand Wi-Fi, VPN, public IP, or local devices

Result

NetPulse Diagnostics became a complete published iOS network troubleshooting toolkit.

The project combines mobile UI design, iOS networking, DNS diagnostics, TCP/UDP probing, HTTP and HTTPS testing, SSL certificate inspection, LAN scanning, speed testing, local reports, export workflows, responsible diagnostics, and App Store-ready product delivery.

This project demonstrates my experience in iOS development, networking, system administration tools, diagnostic UX, privacy-aware design, local data storage, App Store compliance, and building practical utilities for real technical workflows.

View on App Store: https://apps.apple.com/en/app/netpulse-diagnostics/id6766052855

Taggs: