我想我总结了它的标题。关于这个问题,我一直在评估我的工具选项,这些工具允许我制作,捕获和分析TCP/IP数据包。我对网络编程非常陌生,而且我仍然在学习,但在这一点上,我想编写一个建立TCP连接的程序。(推荐):图书馆的数据包制作,捕获和分析
这里是我的目标(长期到短期):
部署和代码系统,可以建立NAT后面两台计算机给出其本地主机名之间建立SSH连接(即feynman.home到feynman.work)和他们路由器的IP地址。如果可能/必要的话,我还希望能够在一组跳中指导连接。 不使用任何第三方或封闭的源代码。 @
重写(也可能是修改)pwnat在一个“干净”的格式(即使用一些发达库高级语言。)
建立相同的NAT后面的两个主机之间的SSH连接(使用我自己当然的代码。)
建立相同的NAT后面的两个主机之间的TCP连接(用我自己当然代码。)
我设法找到netexpect,它似乎非常有希望,直到它未能建立在我的Mac OS X上(我的电脑正在经历一个令人毛骨悚然的时期。)Netexpect可能是最好的选择,但我遇到了很多其他的问题。 scapy以及perl和ruby的实现。)其中很多都没有得到很好的维护(例如scapy及其perl和ruby实现)。
所以,我认为最好把问题带到stackoverflow(除非有一个更好的stackexchange我不知道。)
*鉴于我的电脑的当前状态(不要问)可移植性很重要。
*我更愿意保持良好的维护状态/处于积极的发展状态,以便最好地保证我将拥有所有我需要的工具来实现我的短期和长期目标。
*最后,我更喜欢某些使用解释型语言的东西,其原因从我的经验到我的偏好。
@是的我完全意识到有更简单的方法。我想按照自己的方式去做,因为这样的学习体验和实用性一样。
好吧,我真的不喜欢被绑定到C或跟踪这些shell绑定程序的所有-abcdepqstz标志,但感谢回复。此外,我偶然发现:http://search.cpan.org/~saper/Net-RawIP-0.25/lib/Net/RawIP.pm,这似乎值得研究。 – 2012-02-14 00:17:52