"JSTUN" - Java Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translation (NAT)
来源:互联网 发布:粒子群算法工具箱下载 编辑:程序博客网 时间:2024/04/27 03:17
"JSTUN" - Java Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translation (NAT)
(by Thomas King - king[at]t-king.de - http://www.t-king.de)
What is "JSTUN"?
"JSTUN" is a Java-based STUN (Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translation (NAT)) implementation. STUN provides a mean for applications to discover the presence and type of firewalls or NATs between them and the public internet. Additionally, in presence of a NAT STUN can be used by applications to learn the public Internet Protocol (IP) address assigned to the NAT.
So far, most of the message headers and attributes as standardized in RFC 3489 are part of "JSTUN". The current "JSTUN" version also includes a STUN client and a STUN server. "JSTUN" is licensed unter GNU General Public License.
How does it work?
- STUN is described in RFC 3489.
- Just invoke "java -jar jstun-0.7.1.jar" or use the de.javawi.jstun.test.demo.DiscoveryTest and de.javawi.jstun.test.demo.BindingLifetimeTest classes.
Limits?
Due to the lack of fully RFC compliant STUN servers I could not test the shared secret request / response functionality. Additionally, the message attribute username, password and message integrity are not tested for the same reason. The implementation of the message attribute message integrity is not completed, because I see no reason to add a cryptographic library as long as no public available STUN server supports message integrity.
The reality is not as dark as it might seem after reading the previous section. All tested STUN servers provided a minimal set of functionality that is required to discover firewalls and NATs.
If you found a bug or if you want to implement enhancements or additional functionalities please do not hesitate to contact me by email. A CVS account can be provided if required.
What do you need?
A Java 6 compliant Java Runtime Environment is required by "JSTUN".
Download?
Currently, the latest version of "JSTUN" is 0.7.1.
jar-File: jstun-0.7.1.jar
source-File: jstun-0.7.1.src.tar.gz
ToDo:
- complete message attribute message integrity
- verify all untested attributes and message types (already done)
Special thanks:
- Thomas Butter: He is my alpha geek hero! ;-)
- Jim Morris: Great beta tester! He owns a lot of different NATs. ;-) THANKS!
- Jasmin Meyer: Just a nice person.
Associated projects:
- LimeWire - Open Source P2P File Sharing
- Freecast - Peer-to-peer streaming
- STUN - Simple Traversal of UDP Through NATs - Ein Überblick über das Protokoll
- Astalavista Group Security Newsletter Issue 18
- IChessU - International Chess University
Come form: http://jstun.javawi.de/
- "JSTUN" - Java Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translation (NAT)
- UDP, User Datagram Protocol
- Introduction to Network Address Translation (NAT) and NAT Traversal
- NAT Network Address Translation
- NAT Network Address Translation
- NAT (Network Address Translation)
- User Datagram Protocol(UDP)详解
- NAT(network address translation) tcp udp 打洞
- NAT(Network Address Translation)
- UDP协议(User Datagram Protocol)
- tcp-ip UDP: User Datagram Protocol
- Chapter 5. Network Address Translation (NAT)
- Understanding SIP with Network Address Translation (NAT)
- 网络地址转换(NAT,Network Address Translation)
- 网络地址转换(NAT,Network Address Translation)
- 网络地址转换(NAT,Network Address Translation)
- NAT(Network Address Translation,网络地址转换)
- NAT(Network Address Translation)介绍
- Delphi中ADO处理数据的几种方式的速度比较
- CA解决方案针对复杂的SOA和虚拟化环境实现优化
- 关于SGA设置的一点总结
- win2000下oracle817的性能优化方案
- [语言类]SizeOf(Class)
- "JSTUN" - Java Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translation (NAT)
- 为什么不用Dojo?
- VS2005,VS2008快捷键大全
- lua语法小结
- 试用GoogleMap
- 构造使用IN子句的动态Transact-SQL方法进行编号查询
- 打败你的十五个坏习惯
- word中,backspace删除使用问题
- 为VB应用程序添加英汉翻译功能