我正在用bash编写网络监控脚本。我使用的基本命令是ettercap -T -M ARP -i en1 // //
。然后我将egrep --color 'Host:|GET'
输入其中。
我得到的示例输出如下:
GET /images/srpr/logo11w.png HTTP/1.1.
Host: www.google.com.
GET /en-us/us/products HTTP/1.1.
Host: www.caselogic.com.
我想要的输出是:
Title: logo11w.png
URL: www.google.com/images/srpr/logo11w.png HTTP/1.1.
Title: Products - Case Logic
URL: www.caselogic.com/en-us/us/products
要注意的事项:HTTP/1.1.
和主机末尾的.
消失了。它们也会形成一个URL
,每个Title
/ URL
列表后面会有一个空行。我尝试通过使用
var=`sudo ettercap -T -M ARP -i en1 // // | egrep --color 'Host:|GET'` | echo $var
但显然这不起作用,因为变量的输入是一个命令,直到用户请求停止(CTRL + C
)。
要获取HTML页面的标题,我使用命令wget -qO- 'https://url.goes/here' | perl -l -0777 -ne 'print $1 if /<title.*?>\s*(.*?)\s*<\/title/si'
。如果它没有标题,例如图像,则没有标题可以。
非常感谢任何帮助,如果我写的内容难以阅读,请随时提出问题。