journalctl查看系统日志中的网络连接信息journalctl是Debian(基于systemd的系统)查看系统日志的核心工具,可筛选出与网络相关的日志条目。常用命令:
journalctl -xe(-x显示详细信息,-e跳转至日志末尾)。journalctl -u sshd(替换sshd为目标服务名,如nginx、apache2)。journalctl --since "2025-09-01" --until "2025-09-02"(查看指定时间段内的日志)。ss/netstat命令查看当前网络连接状态这两个命令用于实时查看系统的网络连接、端口监听情况,是排查网络问题的常用工具:
ss命令(推荐,更高效):
ss -tulnp(-t显示TCP,-u显示UDP,-l仅显示监听端口,-n以数字形式显示地址/端口,-p显示关联进程)。ss -tulnp | grep ":80"(如查看HTTP端口80的连接)。netstat命令(传统工具,部分系统需安装):
ss类似:netstat -tulnp(功能一致,但性能略低)。Debian的系统日志文件存储了网络连接的详细事件,可通过grep筛选关键信息:
/var/log/syslog(包含大部分系统事件,如网络接口变化、连接尝试)。
grep "connection" /var/log/syslog(查找包含“connection”的日志行,如SSH连接、端口监听)。/var/log/auth.log(记录需要认证的网络连接,如SSH登录尝试)。
grep "sshd" /var/log/auth.log(查看SSH服务的所有日志,包括登录成功/失败记录)。/var/log/kern.log(记录内核层面的网络事件,如接口状态变化、防火墙规则触发)。tcpdump捕获网络数据包(详细流量分析)若需要深入分析网络流量的具体内容(如数据包头部、载荷),可使用tcpdump工具:
sudo tcpdump -i any(-i any表示监听所有网络接口,按Ctrl+C停止)。sudo tcpdump -i eth0 port 80 -w capture.pcap(-i eth0指定接口,port 80过滤HTTP端口,-w capture.pcap将流量保存到文件,后续可用Wireshark分析)。sudo tcpdump -i any host 192.168.1.100(仅捕获与指定IP的通信)。iptables+syslog-ng自定义记录连接日志(可选)若需要长期保存连接日志(如防火墙规则触发的连接记录),可配置iptables和syslog-ng:
sudo apt update && sudo apt install iptables syslog-ng。syslog-ng:编辑/etc/syslog-ng/syslog-ng.conf,添加以下内容定义日志格式和目的地:log_format 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"); };
filter connection { program("iptables"); };
log { source(src); filter(connection); destination(connection); };
iptables记录连接:编辑/etc/iptables/rules.v4,添加规则(如记录所有输入连接):-A INPUT -j LOG --log-prefix "iptables: "
sudo systemctl restart syslog-ng netfilter-persistent(netfilter-persistent用于保存iptables规则)。tail -f /var/log/connections.log(实时查看连接日志)。journalctl、ss、tcpdump)需要root权限,建议在命令前加sudo。/var/log/syslog)会定期轮转(如按天分割),可通过logrotate工具管理历史日志。