web-dev-qa-db-ja.com

BeEFはどのようにしてポートスキャンとpingを行いますか?

BeEFがping要求、ポートスキャン、またはオペレーティングシステム(OS)の下位レベルとの対話に大きく依存している他のことを行うにはどうすればよいのでしょうか。

JavaScriptはOSの関数やAPIにアクセスできないと思っていました。では、BeEFはそれをどのように行うのでしょうか。

PS:私はすでに他の質問を読みましたが、答えに満足していませんでした:

5
Jeremy Mc

BeEFでは、pingはICMP pingリクエストではなく、ポートスキャンはSYNスキャン(またはnmapで見つけられる他の一般的なポートスキャン方法など)を意味しません。代わりにBeEFは、レイヤー7ネットワーク要求(HTTP/FTP/WS)を行う標準のWeb APIを使用し、これらのAPI呼び出しのtimingを測定して、ホストが稼働しているかポートが開いているかを判断します。

この目的のためにBeEFが使用する3つの異なる手法があります。

  • クロスオリジンのXMLHttpRequests
  • Onerror/onloadイベントリスナーを持つHTML画像要素
  • WebSocket

PingモジュールはCross-Origin XMLHttpRequestsのみを使用しますが、ポートスキャンモジュールは3つすべてを使用します。 BeEFがOSレベルのネットワーク機能にアクセスすることはなく、ICMP ping要求を送信したり、TCP SYNスキャンを実行したりすることもできません。

2
jupenur