我想跟踪一个命令的网络活动,我尝试了 tcpdump 和 strace 没有成功。
例如,如果我正在安装一个软件包或使用任何试图访问某个站点的命令,我想查看该网络活动(它试图访问的站点)。
我想我们可以通过使用 tcpdump 来做到这一点。我试过了,但它正在跟踪我系统的所有网络活动。假设我运行多个与网络相关的命令并且我只想跟踪特定的命令网络活动,那么此时很难找到确切的解决方案。
有没有办法做到这一点?
更新:
我不想跟踪我的网络接口上的所有内容。我只想跟踪命令(例如#yum install -y vim)网络活动。例如它试图到达的站点。
我一直在尝试编写一个脚本来检查是否在特定文件/文件夹中找不到特定内容,然后它应该打印“失败”。否则它应该打印“成功”。但是,以下脚本导致多个错误。
if [[ ( ! grep '/example.com' /opt/nfs &>/dev/null ) || ( ! grep -R '/example.com' /data &>/dev/null) ]]
then
echo "Failed"
else
echo "Passed"
fi
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么它会导致错误,无论如何要消除错误并获得预期的输出?
更新:我收到以下错误:
s.sh: line 1: conditional binary operator expected
s.sh: line 1: expected `)'
s.sh: line 1: syntax error near `'/example.com''
s.sh: line 1: `if [[ ( ! grep '/example.com' /opt/nfs &>/dev/null ) || ( ! grep -R '/example.com' /data &>/dev/null) ]]'
Run Code Online (Sandbox Code Playgroud) bash ×1
linux ×1
networking ×1
shell ×1
shell-script ×1
strace ×1
tcpdump ×1
test ×1
wireshark ×1