blu*_*ylo 4 grep pipe stdout stderr
我正在使用 pyrit。对于那些不知道的人,pyrit 允许检查 wpa 握手密钥是否有效:
pyrit -r file0.cap analyze
Run Code Online (Sandbox Code Playgroud)
当文件不包含有效密钥时,输出如下:
Parsing file 'file0.cap' (1/1)...
AccessPoint e0:xx:xx:xx:xx:xx ('AP_name0'):
No valid EAOPL-handshake + ESSID detected.
Run Code Online (Sandbox Code Playgroud)
现在我只是想知道为什么在发布时:
pyrit -r file0.cap analyze | grep good
Run Code Online (Sandbox Code Playgroud)
它总是给我(当没有有效的握手密钥时):
No valid EAOPL-handshake + ESSID detected.
Run Code Online (Sandbox Code Playgroud)
当有一个有效的密钥时,它就起作用;我们有以下输出:
HMAC_SHA1_AES, good, spread 1
Run Code Online (Sandbox Code Playgroud)
我想是因为这条线
No valid EAOPL-handshake + ESSID detected.
Run Code Online (Sandbox Code Playgroud)
可能是pyrit
命令的标准错误,而不是标准输出。通常,|
标准输出到下一个命令,标准错误立即写入终端。相反,如果您想通过管道传递标准错误和输出,那么您可以使用|&
. IE
pyrit -r file0.cap analyze |& grep good
Run Code Online (Sandbox Code Playgroud)