测试能否连通外网:
pingres=`ping -c 1 baidu.com | sed -n '/64 bytes from/p'`
if [ -z "$pingres" ]
then
echo "network error"
exit 1
fi
查看局域网内不可达的ip,find_unreachable_ip_in_lan.sh:
#!/bin/sh
if [ "$1" != "" ]; then
lan_prefix=$1
else
lan_prefix="10.10.10"
fi
for ((i=2; i<255; i+=1))
do
ip="$lan_prefix.$i"
exists=`ping -c 2 $ip | grep -i Unreachable | wc -l`
if [ "$exists" != "0" ]; then
echo $ip
fi
done
IP地址16进制和10进制之间的转换:
#IP地址16进制转10进制
echo "C0A84303" | sed -e 's/\(..\)/\1\n/g' | head -4 | awk '{printf("%d.","0x"$1)}' | sed 's/\.$//'
#IP地址10进制转16进制
echo "192.168.67.3" | awk -F "." '{printf("%02X%02X%02X%02X\n",$1,$2,$3,$4)}'
socat tcp端口转发:
#!/bin/bash
# 16666 -> 8080
netstat -enplt | grep 16666 &> /dev/null
if [ "$?" != "0" ];then
netstat -enplt | grep 8080 &> /dev/null
if [ "$?" = "0" ];then
socat TCP4-LISTEN:16666,reuseaddr,fork TCP4:127.0.0.1:8080 &
fi
fi
--end--