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

renovate[bot] c2f5f392f8 dep: Update ABP to v7.0.1 vor 3 Jahren
.github c616979555 dep: Update actions/setup-dotnet action to v3 (#194) vor 3 Jahren
Build 111e4f4adc housekeeping: Update build scripts vor 4 Jahren
NatTypeTester c2f5f392f8 dep: Update ABP to v7.0.1 vor 3 Jahren
NatTypeTester.Models c2f5f392f8 dep: Update ABP to v7.0.1 vor 3 Jahren
NatTypeTester.ViewModels c2f5f392f8 dep: Update ABP to v7.0.1 vor 3 Jahren
STUN 57376f882d dep: Update dependency Microsoft.VisualStudio.Validation to v17.0.65 vor 3 Jahren
UnitTest fe4fc0d10e dep: Update dependency Moq to v4.18.4 vor 3 Jahren
pic 8425c658f5 housekeeping: Update RFC5780_4.5.png vor 3 Jahren
.editorconfig 0b857a128c housekeeping: Update .editorconfig vor 4 Jahren
.gitattributes 93159da643 housekeeping: Update framework to .net5.0 vor 4 Jahren
.gitignore 22a115f142 style: Update code style vor 4 Jahren
LICENSE 3fe3bbf5c4 Initial commit vor 7 Jahren
NatTypeTester.sln e1ad9c5627 refactor: drop console vor 3 Jahren
NuGet.Config 75422b3531 housekeeping: Update to .net6.0 vor 4 Jahren
README.md 52fc5d1ff6 housekeeping: Update README.md vor 3 Jahren
build.ps1 6a7d4ff4a2 housekeeping: remove win-arm vor 3 Jahren
common.props 22a115f142 style: Update code style vor 4 Jahren

README.md

NatTypeTester

Channel | Status -|- CI | CI Stun.Net | NuGet.org

RFC supports

Internet Protocol

  • IPv4
  • IPv6

Transmission Protocol

  • UDP
  • TCP
  • TLS-over-TCP
  • DTLS-over-UDP

Preview

RFC3489

![](pic/RFC3489.png)

RFC5389

Binding Test

Checking for UDP Connectivity with the STUN Server ![](pic/RFC5780_4.2.png)

Mapping Behavior

Determining NAT Mapping Behavior ![](pic/RFC5780_4.3.png)

Filtering Behavior

Determining NAT Filtering Behavior ![](pic/RFC5780_4.4.png)

Combining Tests

![](pic/RFC5780_4.5.png)

STUN Server

Docker

docker pull hmbsbige/stunserver
docker run -d --restart=always --net=host --name=stunserver hmbsbige/stunserver --mode full --primaryinterface $IP1 --altinterface $IP2