Bash脚本nmap nse扫描中出错
我正在找一份笔试的新工作,我想多了解一下bash会很有用。我在这方面遇到了问题:Bash脚本nmap nse扫描中出错,bash,scripting,nmap,Bash,Scripting,Nmap,我正在找一份笔试的新工作,我想多了解一下bash会很有用。我在这方面遇到了问题: #!/bin/bash for ip in $(cat webSerVer.txt |grep "192.168.19"|cut -d" " -f5);do nmap $ip --script smb‐os-discovery.nse > smb‐os-discovery.txt done 我得到以下错误: NSE: failed to initialize the script engine: /u
#!/bin/bash
for ip in $(cat webSerVer.txt |grep "192.168.19"|cut -d" " -f5);do
nmap $ip --script smb‐os-discovery.nse > smb‐os-discovery.txt
done
我得到以下错误:
NSE: failed to initialize the script engine:
/usr/bin/../share/nmap/nse_main.lua:685: Bad script rule:
smb‐os-discovery.nse -> <eof> expected near char(226)
stack traceback:
[C]: in function 'error'
/usr/bin/../share/nmap/nse_main.lua:685: in function 'get_chosen_scripts'
/usr/bin/../share/nmap/nse_main.lua:1271: in main chunk
[C]: in ?
QUITTING!
NSE:未能初始化脚本引擎:
/usr/bin/./share/nmap/nse_main.lua:685:错误的脚本规则:
smb-os-discovery.nse->预计接近字符(226)
堆栈回溯:
[C] :在函数“error”中
/usr/bin/./share/nmap/nse\u main.lua:685:在函数“获取所选脚本”中
/usr/bin/./share/nmap/nse_main.lua:1271:in main chunk
[C] :在哪?
退出!
要使此脚本针对所有IP运行Nmap,我缺少什么?如果我运行cat webSerVer.txt | grep“192.168.19”| cut-d”“-f5
,我会得到一个IP列表,因此我知道这是正确的
我的nmap命令似乎是导致问题的行
提前感谢。这与bash脚本无关。Nmap(或者更确切地说是嵌入Nmap中的Lua解析器)抱怨smb os discovery(或其中包含的一个库)中某处存在UTF8编码字符。Lua可以处理Unicode字符串,但不能处理Unicode标识符。
char(266)
part表示文件中有一个\xe2
字节。这闻起来有点像MS Word错误的复制粘贴,因为Word使用的奇特的左引号和右引号(U+2018、U+2019、U+201C、U+201D)都编码为以\xe2
开头的3字节UTF-8序列
要解决此问题,请使用Nmap附带的脚本,或直接从Nmap.org下载。看起来U&L stack站点上可能有很好的资源-如果您在Windows中创建了任何文件,然后将其移动到Linux/Unix,请使用
dos2unix file1 file2…
。祝您好运。嗨,不,IP列表来自另一个Nmap扫描我已经把它们切掉了,这样我就可以得到IP了。我想对bash循环中的IP运行nmap扫描。那么你是说预期的接近char(226)
的错误消息是假的?char 226是什么?