hmbsbige/nattypetester

测试当前网络的 NAT 类型(STUN)

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 5 minutes ago
Added to GitGenius on September 14th, 2026
Created on May 18th, 2018
Open Issues & Pull Requests: 1 (+0)
GitHub issues: Enabled
Number of forks: 271
Total Stargazers: 4,852 (+0)
Total Subscribers: 32 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.3 hours
Mean response time: 16.3 days
90th percentile: 3.7 days
Tracked items: 23

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 48 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Enhancement (6)
  • Invalid (5)
  • Bug (3)
  • Needs more info (3)
  • Help welcome (2)
  • Not going to happen (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

NatTypeTester is a STUN client library that detects the NAT type of a network connection.

The tool solves the problem of determining how a network's NAT (Network Address Translation) behaves, which is essential for peer-to-peer applications, VoIP, and other services that need to understand connectivity constraints. It implements the STUN protocol across multiple RFC standards to classify NAT behavior by testing how the network handles address mapping and packet filtering. The approach works by sending probe packets to a STUN server from different endpoints and analyzing the responses to determine the NAT's characteristics.

Developers building peer-to-peer applications, real-time communication systems, or any service requiring NAT traversal should consider this tool. It suits projects that need programmatic NAT detection rather than one-off testing. The project is distributed as a NuGet package for .NET environments, making it straightforward to integrate into C# applications. The tool supports both IPv4 and IPv6, and handles multiple transport protocols including UDP, TCP, TLS-over-TCP, and DTLS-over-UDP, providing flexibility for different network scenarios.

The project maintains active engagement with its codebase, regularly incorporating updates and refinements. Development activity shows consistent attention to code quality and feature completeness across the supported RFC implementations.