Распечатка из файла

У меня есть файл, который содержит следующие детали после выполнения сканирования nmap:

Host: 45.310.302.11 (li982-11.members.ionic.com)    
Ports: 21/closed/tcp//ftp///, 22/open/tcp//ssh//OpenSSH 5.3 (protocol 2.0)/, 23/closed/tcp//telnet///, 25/closed/tcp//smtp///, 53/closed/tcp//domain///, 80/open/tcp//http//Apache httpd/, 110/closed/tcp//pop3///, 111/closed/tcp//rpcbind///, 135/filtered/tcp//msrpc///, 139/filtered/tcp//netbios-ssn///, 143/closed/tcp//imap///, 443/open/tcp//ssl|http//Apache httpd/, 445/filtered/tcp//microsoft-ds///, 993/closed/tcp//imaps///, 995/closed/tcp//pop3s///, 1723/closed/tcp//pptp///, 3306/open/tcp//mysql//MySQL 5.7.24/, 3389/closed/tcp//ms-wbt-server///, 5900/closed/tcp//vnc///, 8080/closed/tcp//http-proxy///

Я хочу распечатать только те строки, которые содержат открытые порты 80 и 443. Это код ниже, который я использовал. Он может распечатать порт 80, но не 443

grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}.* 80/open/tcp//http//.*" ~/Downloads/nmap-output.txt|cut -d, -f1,6 --output-delimiter=" "|cut -d ' ' -f1,2,5

Как я могу распечатать порт 443?

2
задан 28 October 2019 в 13:53

1 ответ

Существует, вероятно, лучший путь, но это - то, что я сделал бы. Сначала преобразуйте входной файл:

$ cat nmap-scan.txt

Host: 45.310.302.11 (li982-11.members.ionic.com)    
Ports: 21/closed/tcp//ftp///, 22/open/tcp//ssh//OpenSSH 5.3 (protocol 2.0)/, 23/closed/tcp//telnet///, 25/closed/tcp//smtp///, 53/closed/tcp//domain///, 80/open/tcp//http//Apache httpd/, 110/closed/tcp//pop3///, 111/closed/tcp//rpcbind///, 135/filtered/tcp//msrpc///, 139/filtered/tcp//netbios-ssn///, 143/closed/tcp//imap///, 443/open/tcp//ssl|http//Apache httpd/, 445/filtered/tcp//microsoft-ds///, 993/closed/tcp//imaps///, 995/closed/tcp//pop3s///, 1723/closed/tcp//pptp///, 3306/open/tcp//mysql//MySQL 5.7.24/, 3389/closed/tcp//ms-wbt-server///, 5900/closed/tcp//vnc///, 8080/closed/tcp//http-proxy///

В новый файл с полями, разделенными новыми строками:

$ sed -e 's/, /\n/g' nmap-scan.txt > nmap-new.txt

$ cat nmap-new.txt

Host: 45.310.302.11 (li982-11.members.ionic.com)    
Ports: 21/closed/tcp//ftp///
22/open/tcp//ssh//OpenSSH 5.3 (protocol 2.0)/
23/closed/tcp//telnet///
25/closed/tcp//smtp///
53/closed/tcp//domain///
80/open/tcp//http//Apache httpd/
110/closed/tcp//pop3///
111/closed/tcp//rpcbind///
135/filtered/tcp//msrpc///
139/filtered/tcp//netbios-ssn///
143/closed/tcp//imap///
443/open/tcp//ssl|http//Apache httpd/
445/filtered/tcp//microsoft-ds///
993/closed/tcp//imaps///
995/closed/tcp//pop3s///
1723/closed/tcp//pptp///
3306/open/tcp//mysql//MySQL 5.7.24/
3389/closed/tcp//ms-wbt-server///
5900/closed/tcp//vnc///
8080/closed/tcp//http-proxy///

Затем grep новый файл в более простом синтаксисе:

$ grep -E '^80/|^443/' nmap-new.txt

80/open/tcp//http//Apache httpd/
443/open/tcp//ssl|http//Apache httpd/
0
ответ дан 2 December 2019 в 05:51

Другие вопросы по тегам:

Похожие вопросы: