![](/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.