我正在嘗試制作一個程式,該程式可以自動列出從路由器外部到我的計算機的所有連接。這個腳本的最終目標是我希望能夠擁有我連接到的每個服務器/網站的外部 IP 地址的干凈串列。我也試圖用它來了解更多關于網路、網站和服務器如何作業的方式,所以對于我在術語和一般知識方面犯的任何錯誤,我深表歉意!
我的 tcpdump bash 腳本:
while :
do
# get myip and assign it to a variable
myip="$(ifconfig wlp2s0 | grep -E -o -m 1 "inet................" | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)")"
# tcpdump on my ip for all packets going to or from my ip address. the ipaddress of the packets is placed in IP Address.txt
sudo tcpdump -c 1 -nn host "$myip" | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" >> IPaddress.txt
done
我認為 tcpdump 將是這個工具,但是我承認我不知道 tcpdump 是如何作業的。這個腳本是我通過 ubuntu 運行的 bash 檔案。我將如何使用 tcpdump 收集我連接的每個網站的 IP 地址?我閱讀了 tcpdump 檔案并相信它可以幫助我實作我的目標,但是如果有更好的工具,我很樂意聽到它!目前,此代碼僅顯示內部 IP 地址。;(
uj5u.com熱心網友回復:
我更傾向于使用ssor netstat。
ss --all --ipv4
將顯示所有IPv4連接。
當然,這同樣適用于IPv6;你可以添加一個的許多引數以獲得更詳細資訊,如果您想要的,如--processes,--extended或--info。
還有一些引數來控制輸出格式,使其更適合決議:
ss --all --ipv4 --processes --no-header --oneline
uj5u.com熱心網友回復:
建議聽從ss命令。在此處了解ss命令。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/398485.html
下一篇:如何流入wget?
