linux shell ping端口,Linux-shell脚本-MAC记录与端口扫描检测FTP匿名登录脚本

文章目录

一 . 需求描述:

二. 相关命令介绍

2.1 ping 命令 检查主机是否在线以及连通性

2.2 nmap 命令 扫描端口等检测网络服务

三. 具体脚本内容

3.1 脚本内容及思路

3.2 具体内容如下:

3.2 运行结果

四. 技术无巅峰,后期继续优化,欢迎交流进步!

一 . 需求描述:

■需求描述

编写名为system.sh的脚本, 记录局域网中各主机的MAC

地址,保存到/etc/ethers文件中;若此文件已存在,应先

转移进行备份;每行一条记录,第1列为IP地址,第2列为

对应的MAC地址

●检查有哪些主机开启了匿名FTP服务,扫描对象为

/etc/ethers文件中的所有IP地址,扫描的端口为21

,将检测匿名登录的结果输出到 /etc/news.txt

二. 相关命令介绍

2.1 ping 命令 检查主机是否在线以及连通性

ping命令主要用来测试主机之间网络的连通性,也可以用于。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

不过值得我们注意的是:Linux系统下的ping命令与Windows系统下的ping命令稍有不同。Windows下运行ping命令一般会发出4个请求就结束运行该命令;而Linux下不会自动终止,此时需要我们按CTR+C终止或者使用-c参数为ping命令指定发送的请求数目。

语法格式:ping [参数] [目标主机]3d7bc068f8bf29ea490b943e02710b48.png

2.2 nmap 命令 扫描端口等检测网络服务

需要安装nmap 软件包

gonmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个 主机也没有问题。Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。虽然Nmap通常用于安全审核, 许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。

除了所感兴趣的端口表,Nmap还能提供关于目标机的进一步信息,包括反向域名,操作系统猜测,设备类型,和MAC地址。

语法格式:nmap [参数]

66b41f8f05c5525ae156e054a0e5d9e4.png

三. 具体脚本内容

3.1 脚本内容及思路

首先判断 etc/ethers.txt (IP及对应MAC存放位置)是否存在,若存在,备份一下到其他路径备用,随后清空文件内容以及/etc/news.txt(开放了21端口,可以匿名FTP登录的主机名单)内容 。

ping所有主机的连通性,通了再统计其MAC,保存起来数据

检测数据的21端口有无开放,若开放,再检测器其FTP是否可以匿名登录

3.2 具体内容如下:

#!/bin/bash

#判断文件是否存在,存在的话备份到其他路径

[-e /etc/ethers.txt]

if [ $? -lt 1 ]

then

cp -p /etc/ethers.txt /opt/ethers.bak

cat /dev/null > /etc/ethers.txt

fi

#设定IP地址的取值范围

for ((i=1;i<255;i++))

do

#判断是否能PING通,通了再进行统计其MAC

ping 192.168.100.$i -c 1 -i 0.2 -W 1 > /dev/nul

if [ $? -eq 0 ] ;then

echo "192.168.100.$i $( arping -c 2 -I ens33 192.168.100.$i | awk 'NR==2{print $5}' )" >> /etc/ethers.txt

fi

done

#去掉MAC地址两边的括号

sed -i 's/\[/ /g' /etc/ethers.txt

sed -i 's/\]/ /g' /etc/ethers.txt

#检查哪些主机开启了21端口,以及匿名FTP登录服务

cat /dev/null > /etc/news.txt

#清空统计匿名登录名单的文件夹

ipdr=$( awk '{ print $1 }' /etc/ethers.txt )

#echo $ipdr

#定义IP地址为变量ipdr

for NMAP in $ipdr

do

[ $( nmap -p 21 $NMAP | awk 'NR==6{print $2}') = open ]

if [ $? -eq 0 ]

then

#echo $NMAP

#免交互匿名登录测试

/usr/bin/expect<

log_user 0

log_file /etc/news.txt

spawn ftp $NMAP

expect {

"No route to host" {send "exit\r"}

"Name*" {send "ftp\r";exp_continue}

"to continue" {send "yes\r";exp_continue}

"password:" {send "\r";exp_continue}

"failed." {send"exit\r" }

}

expect "ftp>"

send "bye\r"

log_user 1

send_user "\n $NMAP 匿名登录成功 \n"

log_user 0

expect eof

EOF

fi

done

3.2 运行结果

[root@shanan ~]#chmod +x system.sh

[root@shanan ~]# ./system.sh

192.168.100.55 匿名登录成功

查看在线主机对应MAC地址列表

[root@shanan ~]# cat /etc/ethers.txt

192.168.100.1 00:50:56:C0:00:08

192.168.100.2 00:50:56:EC:E6:BC

192.168.100.48 broadcast(s))

192.168.100.55 00:0C:29:A1:A3:B3

192.168.100.100 00:0C:29:64:B5:BD

查看开启了匿名FTP登录的内容列表

[root@shanan ~]# cat /etc/news.txt

192.168.100.55 匿名登录成功

四. 技术无巅峰,后期继续优化,欢迎交流进步!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值