跳转至主要内容

最近在排除一个连接问题时,出现了这个问题。OpenVOS系统正在连接到一个面向公共互联网的服务器。服务器的管理员问了一个简单的问题"你的IP地址是多少?"OpenVOS系统的IP地址来自RFC 1918定义的私有互联网范围之一,称之为192.168.0.1。这个私有地址在离开私有互联网进入互联网时,会被NAT设备翻译成一个公有地址。管理员需要知道这个公有地址。OpenVOS系统管理员不知道,于是争先恐后地找网络管理员告诉我们。

有任何数量的互联网网站,你可以连接到,会告诉你你的IP地址是什么,但他们都使用HTTP和OpenVOS没有一个Web浏览器,可以用来连接到这些网站。

为了确保我不会再陷入同样的境地,我使用stcp_calls写了以下命令宏。它可以用来建立一个网站的连接,并显示该网站根网页的文本。显示的是返回数据的十六进制阿西奇转储,虽然不漂亮,但也是可读的。也有一些其他的限制。首先,不是所有的网站都能用。许多网站要求浏览器按照根页面上的链接来获取IP地址,浏览器会自动获取,但我的脚本不会这样做。不过我还是找到了几个可以使用脚本的网站,请查看脚本中的注释。我建议你在启动的进程中运行宏。

第二个限制是由于NAT设备如何翻译IP地址。有些设备会改变所有的出站流量,使其具有相同的源地址,其他设备会有一组IP地址,它们用于源IP地址,根据内部算法选择特定的地址。我所能建议的就是多次运行宏,看看你的结果。所有的地址应该都在同一个子网中,但我无法预测这个子网会是什么。

& find_my_ip_address从这里开始。
&
1.00版本 10-12-06
& 版本 1.01 10-12-08 在列表中添加了另一个站点。
&[email protected]
&
& 这个脚本连接到一个网站,并检索根页面。许多网站
和显示您的IP地址,需要浏览器按照链接在
和根页面显示你的IP地址。这些网站将无法使用这个
和脚本。我已经测试了以下网站,它们目前可以工作(虽然
&我对未来不做任何承诺)。)
&
& 输出以十六进制/ASCI格式显示。不易读,但
你应该能够发现IP地址。我建议你运行
&脚本作为一个启动的进程,然后搜索输出。
&
和服务器注释
&       ------               -----
& findmyip.com搜索"is:"
& whatismyipaddress.com最后一组非空的字节在最后的缓冲区中。
& www.ip-adress.com 搜索"is:",是的,它是一个d的地址。
& checkip.dyndns.org 最后一组非空的字节在最后一个缓冲区中。
&     
本软件是在"现状"的基础上提供的,没有任何保证或任何的保证。
和任何形式的支持。作者特别声明任何暗示的保证。
以及任何特定目的的适销性或适用性。  本免责声明
并适用于,尽管有任何形式的口头陈述,由"中国"提供的
&作者或其他任何人。
&
&begin_parameters
SERVER server:string,req
&end_parameters
&
&if (process_type) = 'batch' &then &do
&echo no_input_lines no_command_lines no_macro_lines
终止
&
&attach_input
stcp_calls
插座
buf_edit
0 47 45 54 20 2F 20 48 54 54 50 2F 31 2E 30 0a 0a

连接 -name &SERVER& -port 80。
send -len 16
&label AGAIN
...start_logging (process_dir)>recv。
recv -len 1000
...stop_logging
&set_string LINE (contents (process_dir)>recv 1)
...display_line &LINE&
&if (index (contents (process_dir)>recv 1) ' 0 bytes') > 0 &then &goto QUIT
&if (index (contents (process_dir)>recv 1) 'bytes') = 0 &then &goto QUIT
buf_dump
&goto AGAIN
&label QUIT
退出
&
& find_my_ip_address 到此为止。

 

© 2024Stratus Technologies.