在Netcat中逃脱&符号

时间:2015-02-23 12:29:35

标签: netcat

如何从Windows命令行向ncat.exe发送以下命令?

以下命令正常工作。

echo GET /main/main.js HTTP/1.1BHost: www.example.comBConnection: closeBB | tr "B" "\n" | ncat -C www.example.com 80

我认为以下请求因为&符号而无法正常工作。

echo GET /main/main.js?param1=true^&param2=true HTTP/1.1BHost: www.example.comBConnection: closeBB | tr "B" "\n" | ncat -C www.example.com 80

如果有任何解决办法逃脱&符号?我一直在尝试这样的事情,但无济于事。

set "req=GET /main/main.js?param1=true^&param2 HTTP/1.1\nHost: www.example.com\nConnection: close\n\n"
echo %req% | tr "B" "\n" | ncat -C www.example.com 80

1 个答案:

答案 0 :(得分:1)

在您想要echo的字符串周围使用双引号,即:

echo "GET /main/main.js?param1=true^&param2=true HTTP/1.1BHost: www.example.comBConnection: closeBB" | tr "B" "\n" | ncat -C www.example.com 80

但作为对tr内容的改进,最好使用以下内容:

echo -e "GET /main/main.js?param1=true^&param2=true HTTP/1.1\r\nHost: www.example.com\r\nConnection: close\r\n\r\n" | ncat -C www.example.com 80

假设Windows上的echo命令支持“-e”标志。