如何找到并更换websocket?

时间:2013-03-16 07:05:46

标签: javascript websocket firebug greasemonkey

我是javascript的新手,我几乎整天都在查看脚本,看看是否有办法嗅探websocket流量以进行调试和研究,或者用我自己的简单替换websocket。

我尝试使用Chrome进行过滤,并使用了小提琴手,并且所有内容都以某种方式隐藏了流量。 Wireshark似乎抓住了一些既不能找到的东西,但至少对我不熟悉十六进制的人来说是胡言乱语。

但是我真的想知道是否可以在javascript中扩展类似Websocket的内容,以便说当使用像Greasemonkey这样的东西创建它时我可以“扩展”它以便继续执行它想要做的事情而且还做额外的工作。

例如,可以在Greasemonkey中扩展以下websocket,以便onMessage(evt)继续写入屏幕但是我可以添加警报(消息);这比观看交通更令人满意。注意我无法更改源文件。

谷歌浏览器没有识别像亚特兰蒂斯龙这样的游戏的网站websocket,这些动作是ajax帖子,但聊天是一个可以在flash参数中找到的websocket。

<!DOCTYPE html>

 <meta charset="utf-8" />

<title>WebSocket Test</title>

<script language="javascript" type="text/javascript">

  var wsUri = "ws://echo.websocket.org/";
  var output;

  function init()
  {
    output = document.getElementById("output");
    testWebSocket();
  }

  function testWebSocket()
  {
    websocket = new WebSocket(wsUri);
    websocket.onopen = function(evt) { onOpen(evt) };
    websocket.onclose = function(evt) { onClose(evt) };
    websocket.onmessage = function(evt) { onMessage(evt) };
    websocket.onerror = function(evt) { onError(evt) };
  }

  function onOpen(evt)
  {
    writeToScreen("CONNECTED");
    doSend("WebSocket rocks");
  }

  function onClose(evt)
  {
    writeToScreen("DISCONNECTED");

  }


  function onMessage(evt)

  {

    writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>');

    websocket.close();

  }



  function onError(evt)

  {

    writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);

  }



  function doSend(message)

  {

    writeToScreen("SENT: " + message); 

    websocket.send(message);

  }


  function writeToScreen(message)

  {

    var pre = document.createElement("p");

    pre.style.wordWrap = "break-word";

    pre.innerHTML = message;

    output.appendChild(pre);

  }


  window.addEventListener("load", init, false);


</script>


<h2>WebSocket Test</h2>


<div id="output"></div>


</html>

我在stackoverflow中发现这个我只是用websocket替换日期??

Date = function (Date) { return function () { var date = clockwork.instantiate(Date, arguments); var args = arguments.length; var arg = arguments[0]; if ((args === 3 || args == 6) && arg < 100 && arg >= 0) date.setFullYear(arg); return date; } }(Date);

0 个答案:

没有答案