我有一个二进制文件失败了,没有任何有用的信息。它在生产域中可以工作,但在开发域中失败了。我相信它是由于防火墙规则而失败的。我想弄清楚要请求哪些跨域防火墙例外。
有没有办法在运行二进制文件时捕获它尝试的失败连接?也就是说,从客户端而不是查看防火墙日志。
(RedHat 7 环境)
答案1
您可以尝试跟踪程序产生的网络系统调用:
strace -f -e trace=network ./yourprogram
您应该能够看到connect
程序生成的系统调用。记下这些行上的IP 地址 ( sin_addr
) 和端口 ( )。sin_port
此外,您可以运行 tcpdump 来查看这些 IP:port 的内部流量:
tcpdump -i any host FILTERED_IP and port FILTERED_PORT