Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux上使用javascript进行端口敲打效果很好,但在Windows中效果不好_Javascript_Security_Fetch Api - Fatal编程技术网

在Linux上使用javascript进行端口敲打效果很好,但在Windows中效果不好

在Linux上使用javascript进行端口敲打效果很好,但在Windows中效果不好,javascript,security,fetch-api,Javascript,Security,Fetch Api,我正在保护一个web应用程序,并正在实现端口敲击技术。服务器端的实现正在运行,我正在制作一个小型桌面应用程序来“敲打”端口。 我决定使用javascript和当前大多数浏览器上可用的FetchAPI来实现这一点 为了进行测试,我打开了一个浏览器并编写了以下函数: (async function() { for ( port of [7000, 8000, 9000] ) { await fetch("https://xx.xx.xx.xx:" + port)

我正在保护一个web应用程序,并正在实现端口敲击技术。服务器端的实现正在运行,我正在制作一个小型桌面应用程序来“敲打”端口。 我决定使用javascript和当前大多数浏览器上可用的FetchAPI来实现这一点

为了进行测试,我打开了一个浏览器并编写了以下函数:

(async function() {
    for ( port of [7000, 8000, 9000] ) { 
       await fetch("https://xx.xx.xx.xx:" + port)
           .catch(() => console.log("packet sent on port ", port)) 
           // I only catch because the server rejects the connection.
           // With the TCP SYN sent it's enough.
    }
})();
在Ubuntu18.10上的Chrome上运行这个函数的效果与预期完全一样,但是当我将这个函数复制到Windows7计算机上时,获取行为在某种程度上是随机的:

在查看服务器日志时,我意识到每个端口都有多个连接(不是常数),有时顺序会改变

在我的Linux计算机上运行此操作的正常行为:

openWeb: Stage 1
openWeb: Stage 2
openWeb: Stage 3
在基于Windows的计算机上运行时:

openWeb: Stage 1
openWeb: Stage 1
openWeb: Stage 1
openWeb: Stage 2
openWeb: Stage 1
openWeb: Stage 1
openWeb: Stage 1
closeWeb: Stage 1
closeWeb: Stage 2
closeWeb: Stage 1
closeWeb: Stage 1
连接的顺序很重要,因此这在敲门侦听器守护进程上不起作用

使用Chrome开发工具分析网络活动,连接在那里的显示方式并不奇怪



更新:使用了net模块,而不是节点获取,得到了相同的结果。

*indows 7于2009年发布。你有没有报过窃听器?在*indows10中是否也会发生同样的行为?可能与服务器拒绝有关。是否有任何可能的方法打开这些端口并发送虚拟数据?那么Windows的行为也可能是一样的。您是否也进行了测试以确保Windows没有阻止该网络活动?在Windows 10上进行了测试,同样的情况也发生了。也许如果我打开这些端口并放置一个侦听器,这会起作用,但不是我所需要的。