Я создаю программу для перечисления IP-адреса и пользователей, подключенных к локальной сети. Я сделал, получая данные с помощью Nmap. Далее я хочу изменить данные результата на определенный фрейм данных, используя панд или любым другим способом. Как это сделать.
Вот код:
import pandas as pd
import subprocess
from subprocess import Popen, PIPE
import re
def ipget():
i = 'nmap -sP 192.168.1.*'
output = subprocess.getoutput(i)
a = str(output).replace("Nmap","").replace("Starting 7.01 ( https://nmap.org ) at","").replace("scan report for","").replace("Host is up","").replace("latency","").replace("done: 256 IP addresses ","")
data = re.sub(r"(\(.*?\)\.)", "", a)
print(data)
#df = pd.DataFrame(data, columns = ['User', 'IP_Address'])
#print (df)
ipget()
вывод хранится в данных и представляет собой строку:
2019-05-21 18:19 IST
android-eb20919729f10e96 (192.168.1.8)
smackcoders (192.168.1.9)
princes-mbp (192.168.1.10)
shiv-mbp (192.168.1.15)
(4 hosts up) scanned in 18.35 seconds
Требуемый вывод для создания в кадре данных:
User IP_Address
android-eb20919729f10e96 192.168.1.8
smackcoders 192.168.1.9
princes-mbp 192.168.1.10
shiv-mbp 192.168.1.15