tcp 转储传出的连接数据包

Hea*_*ray 9 networking tcpdump

记录所有 tcp 连接数据包的命令语法是什么?

我正在尝试查看我的计算机尝试连接到传出的地址和端口,以便我可以配置我的防火墙。

ech*_*dee 11

对于这个用例,我建议只捕获尝试启动连接的数据包,而不是所有流量。这将是仅设置 SYN 标志的任何内容。

tcpdump -ni ${INTERFACE} -w ~/synconnections.pcap tcp[13] == 2 and src host ${MYIP}
Run Code Online (Sandbox Code Playgroud)

我主要是从tcpdump 手册页中抄录的。标记为“使用特定标志组合(SYN-ACK、URG-ACK 等)捕获 TCP 数据包”的部分详细介绍了标志的含义(设置为 2 的值的第 13 个八位字节是 SYN)。

另外,我不确定您使用的是哪种数据包过滤解决方案,但您应该查看它是否具有日志记录功能。默认拒绝全部然后允许 http/https/ssh 并检查日志以查看其他内容被阻止。


jon*_*ipp 5

如果通过记录传出的 TCP 数据包,您的意思是将它们以 PCAP 格式写入磁盘,您可以使用以下命令:

$ tcpdump -nni eth0 -w outgoing-tcp.pcap ip src 192.168.1.1 and tcp
Run Code Online (Sandbox Code Playgroud)

将接口替换为您机器的接口,将 IP 地址替换为您机器的 IP 地址。根据您使用的 tcpdump 版本,就像旧版本一样,如果您想记录整个数据包而不是像 96 字节那样截断它,您可以添加“-s 0”选项,该选项将 snaplength 设置为不截断数据包。不过,在最近的 tcpdump 版本中,您可能不需要这些,因为它在大多数(如果不是全部)平台上默认为 65535。