f is a file and is shown below:
+++++192.168.1.1+++++
Port Number: 80
......
product: Apache httpd
IP Address: 192.168.1.1
+++++192.168.1.2+++++
Port Number: 80
......
product: Apache http
IP Address: 192.168.1.2
+++++192.168.1.3+++++
Port Number: 80
......
product: Apache httpd
IP Address: 192.168.1.3
+++++192.168.1.4+++++
Port Number: 3306
......
product: MySQL
IP Address: 192.168.1.4
+++++192.168.1.5+++++
Port Number: 22
......
product: Open SSH
IP Address: 192.168.1.5
+++++192.168.1.6+++++
Port Number: 80
......
product: Apache httpd
IP Address: 192.168.1.6
The expected output is:
These hosts have Apache services:
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.6
The code I tried:
for service in f:
if "product: Apache httpd" in service:
for host in f:
if "IP Address: " in host:
print(host[5:], service)
It just gave me all ip addresses instead of the specific hosts with Apache installed.
How can I make the expected output?
You could also try this:
Which Outputs: