pingIP的脚本和nc端口的脚本

本文展示了几个用于检查IP地址连通性的bash脚本,从初级到高级,包括ping检查和nc端口扫描。初级脚本通过ping命令简单检查网络连接,中级脚本提升了执行速度,而高级脚本利用多线程技术提高效率,同时检测多个端口。这些脚本适用于系统管理员进行网络健康检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初级ping脚本 

for i in `cat /root/ip.txt`
        do
        ping=`ping -c 3 $i > /dev/null`
 if [ $? -ne 0 ];then
 echo "ping $i fail" >> /root/fail.txt
 else
 echo "ping $i ok" >> /root/ok.txt
 fi
 done
 
 编写放IP的文档 ip.txt
 
 
 # 速度慢
ZB-FTP-Server01:~/python # cat ping.sh 
#!/bin/bash
for ip in `cat /root/python/ip.txt`
	do 
		ping -c 1 $ip |grep -q 'ttl=' && echo $ip ok || echo $ip failed
	done
	
	
 # 速度快
 ZB-FTP-Server01:~/python # cat p2.sh 
#!/bin/bash
>ping.log
for ip in `cat /root/ip3.txt`
	do 
	    nohup	ping -c 1 $ip |grep -q 'ttl=' && echo $ip ok || echo $ip failed  >> ping.log  &
	done

初级nc端口脚本:

#!/bin/bash
for i in `cat ip.txt`
	do
	#nc -v -w 1 $i 3389
	nc -zw1 $i 3389
	if [ $? -eq 0 ]
	then
		echo "$i        3389 is ok !" >> ./result_ip.txt
	else
		nc -zw1 $i 3390
		if [ $? -eq 0 ]
		then
			echo "$i        3390 is  ok!" >> ./result_ip.txt
		else
			nc -zw1 $i 22
			if [ $? -eq 0 ]
			then
				echo "$i        22 is  ok!" >> ./result_ip.txt
			else
				nohup	ping -c 1 -w 1 $i |grep -q 'ttl=' && echo $i ping is ok || echo $i ping is failed  >> result_ip.txt  &
			fi
		fi
	fi
	done
	wait
exit 0

 高级写法(多线程):

 

#!/bin/bash
IPLIST=./ip.txt
THREAD=30
TMPFIFO=/tmp/$$.fifo
mkfifo $TMPFIFO
exec 5<>${TMPFIFO} 
rm -rf ${TMPFIFO} 
for((i=1;i<=$THREAD;i++))
do
	echo ;               

done >&5                

for i in $(cat ${IPLIST}) 
do
	read -u5        
	{
		nc -zw1 $i 3389
		if [ $? -eq 0 ]
		then
			echo "$i        3389 is ok !" >> ./result_ip.txt
		else
			nc -zw1 $i 3390
			if [ $? -eq 0 ]
			then
				echo "$i        3390 is  ok!" >> ./result_ip.txt
			else
				nc -zw1 $i 22
				if [ $? -eq 0 ]
				then
					echo "$i        22 is  ok!" >> ./result_ip.txt
				else
					#ping -c 1 $i |grep -q 'ttl=' && echo $i ok || echo $i failed # echo $? is 0
					nohup	echo $(ping -c 1 -w 1  $i | grep -q 'ttl='  && echo  $i  ping  is  "ok" || echo  $i  ping  is  "failed") >> ./result_ip.txt	&
					#		echo $(ping -c 1 -w 1  10.112.21.39| grep -q 'ttl='  && echo   ping  is  "ok" || echo    ping  is  "failed")
				fi
			fi
		fi
		echo "" >&5  
	} &
done
wait
exec 5>&-
exit 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工具人01

仗剑天涯,从你的打赏开始

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值