如何通过脚本查找Linux中是否安装了点对点文件共享应用程序?

如何通过脚本查找Linux中是否安装了点对点文件共享应用程序?

我们想知道Linux机器上是否安装了点对点文件共享。这些应用程序的一些示例包括 -

  • 纳普斯特
  • 卡扎阿
  • 阿瑞斯
  • 石灰线
  • IRC 聊天中继
  • BT

无论上述应用程序的 RPM 是否已安装,甚至是否使用查找搜索,我们如何编写脚本?基本上我需要上述点对点应用程序的搜索词才能找到它们。

更新

这是我用来搜索它们的命令。我错过了什么吗?

rpm -qa |grep -i bittorrent
rpm -qa |grep -i limewire
rpm -qa |grep -i kazaa
rpm -qa |grep -i ares
rpm -qa |grep -i napster
rpm -qa |grep -i irc
rpm -qa |grep -i irssi
rpm -qa |grep -i xchat

find / -name bittorrent
find / -name limewire
find / -name kazaa
find / -name ares
find / -name napster
find / -name irc

答案1

但是程序/包的名称在文件中各占一行,例如packages.txt,并使用rpm -qa |grep -iFf packages.txt

现在...第二部分,使用find命令似乎相当愚蠢。这在某种程度上是 Linux 特有的:更好地运行(以 root 身份)ps和/或netstat -nap监听端口的任何守护进程和进程。其中一些只是udp,所以它们不会在LISTEN状态中。

netstat -tap |grep -E "(LISTEN|ESTABLISHED)" | grep -iFf packages.txt
netstat -uap |grep -iFf packages.txt
ps -axo pid,user,args | grep -iFf packages.txt

您可以将以上所有内容浓缩为:

{ 
  rpm -qa
  netstat -tap |grep -E "(LISTEN|ESTABLISHED)" 
  netstat -uap 
  ps -axo pid,user,args
} | grep -iFf packages.txt

但随后您必须找出 grep 匹配的输出。

相关内容