如果我要创建ipfw转移规则以将所有FTP流量转发到特定套接字,是否可以使用Java连接到socekt并读取数据包信息?如果是这样,我将如何阅读/写入scoket?
答案 0 :(得分:0)
不确定你的意思。如果您正在使用转移规则,那么您所要做的就是在您的Java应用程序中监听该ip:端口组合,并且您已完成所有设置。如果要读取实际的目标端点信息,则需要使用JNI。
答案 1 :(得分:0)
是的,它就像一个普通的套接字,你可以从/向它读/写,但在Mac OS X上,如果你想修改数据包并将其插回,你需要先重新计算tcp校验和。
http://blog.loudhush.ro/2006/08/using-divert-sockets-on-mac-os-x.html
这篇文章介绍了Mac OS X上转移套接字的基本用法。您可以在C代码中实际创建规则。
对于您的情况,只需扫描数据包中的TCP或IP标头并解析您想要的任何内容