在Debian系統中,監控網絡活動可以通過多種工具和方法實現。以下是一些常用的命令和步驟,幫助你有效地監控和分析網絡活動。
ss
和 netstat
命令ss
和 netstat
命令是查看網絡連接和端口信息的強大工具。
查看所有網絡連接:
ss -tuln
這將顯示所有監聽的TCP和UDP端口及其對應的進程。
查看特定用戶的網絡連接:
ss -tuln | grep username
使用 grep
命令篩選特定用戶的網絡連接。
tcpdump
捕獲網絡數據包tcpdump
是一個強大的網絡分析工具,可以用來捕獲和分析網絡數據包。
捕獲所有通過TCP端口23(Telnet默認端口)的數據包:
sudo tcpdump -i any port 23
這將顯示所有與Telnet相關的連接和通信。
iptables
和 syslog
記錄連接日志你可以使用 iptables
和 syslog
來記錄網絡連接日志。
安裝 iptables
和 syslog-ng
:
sudo apt-get update
sudo apt-get install iptables syslog-ng
配置 syslog-ng
以記錄連接日志:
編輯 /etc/syslog-ng/syslog-ng.conf
文件,添加以下內容:
source /etc/syslog-ng/syslog-ng.conf.default;
define connection 'remote_addr - remote_user [time] "request" ' 'status body_bytes_sent "http_referer" ' '"http_user_agent"';
destination connection { file("/var/log/connections.log" mode "append"); create_directory("/var/log"); rotate(52); compress(); };
include "/etc/syslog-ng/connection.conf";
重啟 syslog-ng
服務:
sudo systemctl restart syslog-ng
使用 iptables
記錄連接日志:
編輯 /etc/iptables/rules.v4
文件,添加以下內容:
*filter:
INPUT DROP [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited;
重啟 iptables
服務:
sudo systemctl restart netfilter-persistent
連接日志將保存在 /var/log/connections.log
文件中。
journalctl
查看系統日志journalctl
命令用于查看系統日志,可以了解系統活動以及用戶的操作記錄。
查看系統日志:
journalctl
查看特定用戶的操作記錄:
journalctl _COMM=sudo | grep username
這將顯示特定用戶使用 sudo
命令的記錄。
Zeek 是一款功能強大的開源網絡安全監控器,提供對網絡運行的實時洞察。
安裝 Zeek:
sudo apt update
sudo apt install zeek -lts
配置 Zeek:
編輯 Zeek 配置文件(通常位于 /etc/zeek/zeek.cfg
),設置監控的網絡接口。
[zeek]
type standalone
host localhost
interface eth0
啟動 Zeek:
zeekctl deploy
檢查 Zeek 狀態:
zeekctl status
通過這些工具和方法,你可以有效地監控和分析Debian系統上的網絡活動,確保系統的安全性和穩定性。