![](/img/trans.png)
[英]Is it possible to do big size image process on applet on browser in java?
[英]Is it possible to do a traceroute in the browser?
我正在寻找一种方法来进行traceroute客户端,即在浏览器中。
据我所知,通过Javascript或Flash发送任意TTL值的ICMP,UDP或TCP数据包是不可能的。 我知道Flash允许通过Actionscript中的Socket类进行TCP连接,但它对于traceroute实现似乎没有用。
是开发浏览器插件的唯一解决方案吗?
编辑 :我刚刚发现它已经完成了Java applet: http : //www.codefromthe70s.org/traceroute.aspx
坏消息是这个applet需要签名代码,因为它实际上解析了底层客户端系统的ping可执行文件的输出。 因此,要求用户允许Java应用程序运行,这很麻烦。
更多信息: http : //www.codefromthe70s.org/traceroute_explained.aspx
如果有人能提供帮助,我仍在寻找更简单的解决方案。
编辑2 :谢谢你的回答。 我想我必须使用Java。
我想知道NaCl( http://code.google.com/p/nativeclient/ )是否会支持某种traceroute app。
您无法通过浏览器执行此操作。 Javascript最多可以为其原始服务器打开连接以获取AJAX请求,但只能通过HTTP执行此操作。 Flash可以与任意主机通信,但前提是它们在原始服务器上的crossdomain.xml文件中列出,并且仅通过TCP再次列出。 Flash中的UDP支持显然正在等待中。
Traceroute和ping都是基于ICMP的协议,无法通过Flash或Javascript创建/控制。 他们也都需要'原始'访问来构建自定义数据包,这绝对不能在浏览器端完成。 这就是为什么'ping'是Unix系统上的'SUID'程序,因为原始数据包访问需要root权限。
充其量,您可以执行服务器端实现并将输出发送到浏览器。 即便如此,你很可能无法通过Unix机箱上的服务器内进程来实现,因为Web服务器不太可能以root身份运行。 您必须执行系统ping和/或traceroute并将输出重定向回浏览器。
有CoNetServ(复杂网络服务)浏览器扩展。 它可以直接在浏览器中从本地计算机执行traceroute。 https://github.com/VojtechVitek/CoNetServ/wiki
Chrome扩展程序: https : //chrome.google.com/extensions/detail/mmkpilpdijdbifpgkpdndpjlkpjkihee Firefox附加组件: https : //addons.mozilla.org/en-US/firefox/addon/181909/
编辑: Chrome和Firefox都将捆绑的NPAPI库撤销到扩展/附加组件中。 不幸的是,上述内容将不再适用。
嗯......不,因为安全模型。
您可以在具有插件的特定浏览器中执行此操作,但不能使用任何广泛可用的任意浏览器。
我想在这里被证明是错的。
如何在服务器上执行traceroute并返回带有某种ajax调用的结果
<script type="text/javascript">
function runapp() {
var domain = "10.10.35.1";
var cmdLine = "tracert" +" " + domain;
var wshShell = new ActiveXObject("WScript.Shell");
var out = wshShell.Exec(cmdLine);
var output1 = out.StdOut.ReadAll();
document.getElementById('box').innerHTML += output1;
}
</script>
<div id="box" align="center"></div>
<button onclick="runapp();">Click me!</button>
所以它只适用于IE,因为ActiveX。
它将traceroute运行到10.10.35.1并将输出写入div,id =“box”。
也许有点晚了,但未来读数可能会很有趣(比如我的:-D)。
Java 1.5有一个带有isReachable方法的InetAdress类,您可以尝试。 检查一下:
http://download.oracle.com/javase/1.5.0/docs/api/java/net/InetAddress.html#isReachable(int )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.