运行netstat命令并通过电子邮件发送结果的shell脚本

运行netstat命令并通过电子邮件发送结果的shell脚本,shell,unix,netstat,Shell,Unix,Netstat,我正在研究如何设置一个shell脚本,以便在UNIX服务器上运行Netstat命令来扫描打开的端口。我希望每个命令在24小时内每5分钟运行一次,并将结果通过电子邮件发送给我 这可能吗?当然可能 尽管在UNIX机器上,您可能希望使用的不是netstat(也许sockstat在FreeBSD服务器上做得更好?) 您必须进行一些设置才能正确发送邮件(sendmail已经存在于FreeBSD服务器上,但是您必须稍微启用和配置它,或者安装并使用另一个邮件软件;此外,确保您的服务器将发送的电子邮件已“识别”

我正在研究如何设置一个shell脚本,以便在UNIX服务器上运行Netstat命令来扫描打开的端口。我希望每个命令在24小时内每5分钟运行一次,并将结果通过电子邮件发送给我

这可能吗?

当然可能

尽管在UNIX机器上,您可能希望使用的不是
netstat
(也许
sockstat
在FreeBSD服务器上做得更好?)

您必须进行一些设置才能正确发送邮件(
sendmail
已经存在于FreeBSD服务器上,但是您必须稍微启用和配置它,或者安装并使用另一个邮件软件;此外,确保您的服务器将发送的电子邮件已“识别”通过spf和dkim等机制来避免邮件服务器拒绝它们)

您可以定义一个
cron
作业,每天、每分钟定期运行脚本


每个步骤都需要一些工作!我会慢慢地,一步一步地进行。

谢谢您的回复。我遇到的问题是,这将用于检查未持续运行的web服务使用/未使用的端口。因此,我们可以在测试时测试端口及其打开状态,但实际上是分配给应用程序的。这有意义吗?应用程序指的是这些web服务之一?然后,如果您正在寻找打开的端口,并且它们在测试时是打开的,我不知道脚本如何猜测它不应该报告它们,除了提供一个异常列表(服务名称)。或者在脚本报告之前为端口定义“最小打开时间”。不知道这些是否相关,因为我不知道您报告opent端口(安全性?)的目的。如果您的应用程序不是web服务,那么为什么不为它们使用本地端口呢?