作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个 FTP 服务器。根据 FTP 规范,他们添加了名为 LPRT 的新命令。
其格式为LPRT 6,16,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,193,160
现在我可以使用下面的逻辑从中获取 FTP 端口。但是我还需要从此字符串中获取 IPV6 地址。
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer(
"6,16,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,193,160");
final String portStr = st.nextToken();
final int lastDelimIdx =portStr.lastIndexOf(',', portStr.lastIndexOf(',') - 1);
final StringTokenizer portst = new StringTokenizer(portStr.substring(lastDelimIdx + 1, portStr.length()), ",");
final int p1 = Integer.parseInt(portst.nextToken());
final int p2 = Integer.parseInt(portst.nextToken());
final int dataPort = (p1 << 8) | p2;
System.out.println(dataPort);
}
有人可以帮我从这个字符串中找到 IPv6 地址吗?
最佳答案
LPRT 和 LPSV 被认为已过时,请参阅 https://www.iana.org/assignments/ftp-commands-extensions/ftp-commands-extensions.txt 。要使用 IPv6,请使用 RFC2428 中指定的 EPSV 和 EPRT .
如果您仍然需要知道如何处理 LPRT,请查看过时的 RFC1639 。例如:
LPRT 6,16,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,193,160
表示主机长度参数后面的16个数字是地址的字节,然后是端口地址长度2个字节,即
[0000:0000:0000:0000:0300:0000:0000:0000]:49568
关于java - 如何从 LPRT ftp 命令获取 IPv6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30753791/
我正在创建一个 FTP 服务器。根据 FTP 规范,他们添加了名为 LPRT 的新命令。 其格式为LPRT 6,16,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,193,160
我是一名优秀的程序员,十分优秀!