带字符串参数的 Lua popen

标签 lua

我正在尝试使用 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 接受它?

最佳答案

尝试使用长字符串

[[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 popen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27553482/

相关文章:

oop - Lua - 如何动态调用模块?

可以附加到进程的 Lua 调试器

lua - 为什么我在我的 lua 函数中看不到打印

c++ - 如何从目录加载所有文件?

http - 尝试读取一个不存在的全局 'PROXY' Lua

Lua 作为一种网络语言

c++ - 返回各种类型的函数的 SWIG 类型映射

c - 如何访问 lua_pcall 调用的 C 函数的返回值?

mysql - 如何在 mysql-proxy 上使用 Lua 脚本记录 SQL 错误和警告

io - 如何让lua按顺序运行