我將如何向文件添加新數據?

我將如何向文件添加新數據?

所以!我有一個 nmap 掃描,將輸出保存到文件中,nmapscan.txt

sudo nmap -sP 192.168.1* > nmapscan.txt

我還有一些其他命令來清理並將所有所需的輸出保存到一個文件中,livehosts.txt

cat ./temp/nmapscan.txt | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' > ./temp/macaddresses.txt

其中保存了 mac 位址。和:

grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' ./temp/nmapscan.txt > ./temp/ipaddresses.txt

其中保存了 IP 位址。和:

cat ./temp/nmapscan.txt | grep -o -P '(?<=for).*(?=.attlocal)' > ./temp/hostnames1.txt

這保存了主機名稱。和:

cut -d' ' -f 2 ./temp/hostnames1.txt > ./temp/hostnames2.txt

我這樣做是為了清理主機名稱(抱歉,忘記將其包含在原始帖子中)......並且:

cut -d' ' -f 1 ./temp/hostnames2.txt | paste ./temp/macaddresses.txt ./temp/ipaddresses.txt - > ./temp/livehosts.txt

..這是結合了所需數據並顯示如下的最終產品:

xx:xx:xx:xx:xx:xx   192.168.1.1     Netgear
xx:xx:xx:xx:xx:xx   192.168.1.111   John's Toilet Cam

我想再次掃描並寫入,並且想要livehosts.txt文件或多或少會更新。只需按原樣進行掃描並再次寫入即可覆蓋文件。並且並非所有設備都在不同時間連接。

我試過了:

>>

但這只會使文件中已有的資料加倍。

將數據加倍、刪除重複數據,然後寫入新文件是最好的方法嗎?

你會怎樣做呢?謝謝!

答案1

有太多不必要的操作。

首先,使用-oG選項(grepable 格式)。這將使您的工作更加輕鬆。來源:Nmap 參考指南 - 輸出。並且不需要進行檔案重定向(> nmapscan.txt),因為 nmap 已經有一個-oN選項。您可以記錄到文件,但仍然可以將輸出輸出到控制台。

我不確定你的目標規範是否合法:

nmap -sP 192.168.1*

也許nmap設法正確解釋它,據我所知,它不是有效的語法。

相反,請使用192.168.1.0/24192.168.1.1-255(假設您要掃描位址為 192.168.1.0 到 192.168.1.255 的小型網路。

看:Nmap 參考指南 - 目標規範

相關內容