쉘 스크립트를 사용한 네트워크 트래픽 분석기

쉘 스크립트를 사용한 네트워크 트래픽 분석기

동시에 핑하고 ttl을 가져오고 네트워크에 있는 IP 주소 세트를 텍스트 파일의 두 열에 저장하는 방법이나 스크립트가 있습니까? 로드 밸런싱 그래프에 도움이 되는 쉘 스크립트를 만들고 싶습니다. nmap, dig 및 fping 명령을 사용해 보았지만 요구 사항에 따라 원하는 출력을 얻을 수 없었습니다. CentOs 6.5 작업 중

답변1

제가 질문을 이해한다면 이 간단한 스크립트가 귀하에게 도움이 될 것입니다.

#!/bin/sh

# List of IP or domain names
LIST="192.168.1.101 192.168.1.110 192.168.1.254 192.168.1.250"

# Where to store the data?
outFile="${HOME}/network-test"

# raw data per IP
raw=""

# Clear the result each time or not? This will clear it each time
echo -n > "${outFile}"

for ip in $LIST
do
    raw=`ping -c 1 -t 255 "${ip}" | grep ttl | awk -F" |ttl=" '{ print $1 }'`
    if [ "$raw" != "" ]
    then
        echo "${ip} ${raw}" >> $outFile
    else
        echo "${ip} no-ping" >> $outFile
    fi
done

cat $outFile

exit

표시 내용은 다음과 유사합니다.

192.168.1.101 64
192.168.1.110 64
192.168.1.254 64
192.168.1.250 no-ping

관련 정보