设为首页 收藏本站
查看: 1122|回复: 0

nmap +shell脚本实现内网端口巡检

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-8-27 09:57:36 | 显示全部楼层 |阅读模式
  nmap的命令很多,这里就不介绍了,想了解的话,网上很多的文章可以参考。
  #############################################################
  通过nmap端口扫描获取开放的端口,以达到内网体检的目的
  #############################################################
  1、通过salt获得主机列表
salt '*' cmd.run 'ifconfig|grep addr|sed -n "4p"|cut -d ":" -f 2|cut -d " " -f 1' > /root/hosts_list  获得的文件内容大致如下:
  node1:
  192.168.2.11
  node2:
  192.168.2.12
  node3:
  192.168.2.13
  注意:
  主机地址一定要是上面这种结构的,不然下面的sed后的结果不是纯IP列表,发给nmap扫描会报错的。
  2、nmap对这个主机列表进行端口扫描
  # 注意:刚开始没显式指定端口范围,发现例如27017这些端口都没扫描出来,后来就加了-p 1-65535参数,但是发现扫描特别慢,慎重考虑。
sed -n 'n;p' /root/hosts_list|xargs -p 1-65535 nmap -sS > /tmp/port_list && egrep "Nmap scan report|open" /tmp/port_list > /tmp/list && rm -f /tmp/port_list  获得的文件内容大致如下:
  Nmap scan report for node1 (192.168.2.11)
  22/tcp open  ssh
  Nmap scan report for node2 (192.168.2.12)
  22/tcp open  ssh
  Nmap scan report for node3 (192.168.2.13)
  22/tcp open  ssh
  3、每天执行一次下面的这个脚本,获取最新的开放的端口,并比对旧的数据,发现端口异动就自动报警。
#!/bin/bash  
# Description: nmap扫描线上服务器的开放端口
  
# Author: lirl
  
# Date: 2016/10/02
  
sed -n 'n;p' /root/hosts_list|xargs nmap -p 1-65535 -sS > /tmp/port_list && egrep "Nmap scan report|open" /tmp/port_list > /tmp/list_$(date +%F)
  
if [ $? -eq 0 ];then
  
if ! diff /tmp/list /tmp/list_"$(date +%F)" -y -W 100 > /tmp/port_change_list 2> /dev/null ;then
  
echo -e "[+] some port changed $(date +%F) , Please check file /tmp/port_change_list.\n"  >> /tmp/openports_stats
  
# mail -s "Port stats Changed,Please login salt to check." xxxx@126.com < /tmp/port_change_list
  
else
  
echo -e "[-] none port changed $(date +%F).\n" >> /tmp/openports_stats
  
fi
  
fi
  获得的/tmp/port_change_list 文件内容大致如下:
  Nmap scan report for node1 (192.168.2.11)Nmap scan report for node1 (192.168.2.11)
  22/tcp open  ssh22/tcp open  ssh
  Nmap scan report for node2 (192.168.2.12)Nmap scan report for node2 (192.168.2.12)
  22/tcp open  ssh22/tcp open  ssh
  Nmap scan report for node3 (192.168.2.13)Nmap scan report for node3 (192.168.2.13)
  22/tcp open  ssh22/tcp open  ssh
  80/tcp   open  http      <
  3306/tcp open  mysql      <
  很明显,我们能看出哪些端口是增加的或者减少的。
  4、如果确定当前端口是正常流程修改的,可以更新端口列表模板
cp /tmp/list_$(date +%F) /tmp/list  基本上完成这几步骤,就差不多了,还有很多不完善的地方,等想到了在补充进来。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-557155-1-1.html 上篇帖子: shell终端中更改提示符颜色 下篇帖子: linux bash shell脚本报错:"[: =: unary operator expected"
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表