![Traceroute를 위한 Bash 스크립트](https://linux55.com/image/208866/Traceroute%EB%A5%BC%20%EC%9C%84%ED%95%9C%20Bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8.png)
서버 목록을 반복하고 해당 경로를 추적하는 bash 스크립트를 만들었습니다.
내 소스 파일은 다음과 같습니다.
traceroute to speed.actaccess.net (72.36.7.94), 15 hops max, 60 byte packets
1 _gateway (10.0.2.2) 0.397 ms 0.367 ms 0.364 ms
2 10.36.85.221 (10.36.85.221) 2.554 ms 2.550 ms 2.545 ms
3 69-42-239-254.rrt.stellarllc.net (69.42.239.254) 3.264 ms 3.260 ms *
4 162.211.40.213 (162.211.40.213) 3.247 ms 3.242 ms 3.237 ms
5 100ge1-cns-e.511.stellarllc.net (162.211.40.209) 14.764 ms 14.751 ms 14.745 ms
6 as30110.micemn.net (206.108.255.176) 14.353 ms 14.330 ms 14.780 ms
7 72-36-7-149.dynamic.range.net (72.36.7.149) 39.047 ms 41.488 ms 41.465 ms
8 72-36-7-18.dynamic.range.net (72.36.7.18) 39.894 ms 41.449 ms 41.415 ms
9 speed.actaccess.net (72.36.7.94) 41.408 ms 41.402 ms 41.352 ms
traceroute to speed-torrington.vcn.com (209.193.66.138), 15 hops max, 60 byte packets
1 _gateway (10.0.2.2) 1.169 ms 1.084 ms 1.068 ms
2 10.36.85.221 (10.36.85.221) 4.877 ms 4.870 ms 4.858 ms
3 69-42-239-254.rrt.stellarllc.net (69.42.239.254) 4.846 ms 4.830 ms 5.334 ms
4 162.211.40.213 (162.211.40.213) 5.319 ms 5.304 ms 5.294 ms
5 100ge1-cns-e.511.stellarllc.net (162.211.40.209) 17.790 ms 17.783 ms 17.773 ms
6 as6939.micemn.net (206.108.255.52) 17.760 ms 14.921 ms 15.595 ms
7 * * *
8 100ge8-1.core1.den1.he.net (184.105.222.93) 32.439 ms 37.128 ms 37.122 ms
9 port-channel1.core2.den1.he.net (184.105.80.150) 38.232 ms * *
10 66.198.192.75 (66.198.192.75) 37.097 ms 36.706 ms 36.665 ms
11 66.198.192.81 (66.198.192.81) 32.208 ms 36.650 ms 36.645 ms
12 172.18.8.118 (172.18.8.118) 49.134 ms 49.488 ms 49.480 ms
13 speed-torrington.vcn.com (209.193.66.138) 48.586 ms 49.087 ms 49.079 ms
traceroute to sp1.guam.ite.net (202.123.136.76), 15 hops max, 60 byte packets
1 _gateway (10.0.2.2) 0.469 ms 0.426 ms 0.419 ms
2 10.36.85.221 (10.36.85.221) 2.182 ms 2.176 ms 2.093 ms
3 69-42-239-254.rrt.stellarllc.net (69.42.239.254) 2.510 ms 2.502 ms 2.496 ms
4 162.211.40.213 (162.211.40.213) 2.776 ms 3.229 ms 3.220 ms
5 100ge1-cns-e.511.stellarllc.net (162.211.40.209) 14.733 ms 14.725 ms 14.718 ms
6 as6939.micemn.net (206.108.255.52) 14.710 ms 14.209 ms 14.775 ms
7 * * *
8 100ge8-1.core1.den1.he.net (184.105.222.93) 31.650 ms 32.179 ms 32.173 ms
9 port-channel10.core2.slc1.he.net (72.52.92.42) 44.454 ms * *
10 port-channel3.core3.lax2.he.net (184.104.197.62) 61.911 ms * *
11 100ge0-30.core2.lax2.he.net (184.104.196.37) 60.074 ms 60.800 ms 61.265 ms
12 100ge4-2.core1.hnl1.he.net (184.104.193.234) 106.413 ms 107.134 ms 107.122 ms
13 100ge0-36.core1.gum1.he.net (184.105.223.250) 174.245 ms 175.941 ms 175.936 ms
14 64.71.131.186 (64.71.131.186) 169.453 ms 170.536 ms 170.517 ms
나는 소스 파일을 사용하여 다음을 수행하려고 했습니다.
- 각 서버를 자체 파일로 분리합니다.
파일 1:
traceroute to speed.actaccess.net (72.36.7.94), 15 hops max, 60 byte packets
1 _gateway (10.0.2.2) 0.397 ms 0.367 ms 0.364 ms
2 10.36.85.221 (10.36.85.221) 2.554 ms 2.550 ms 2.545 ms
3 69-42-239-254.rrt.stellarllc.net (69.42.239.254) 3.264 ms 3.260 ms *
4 162.211.40.213 (162.211.40.213) 3.247 ms 3.242 ms 3.237 ms
5 100ge1-cns-e.511.stellarllc.net (162.211.40.209) 14.764 ms 14.751 ms 14.745 ms
6 as30110.micemn.net (206.108.255.176) 14.353 ms 14.330 ms 14.780 ms
7 72-36-7-149.dynamic.range.net (72.36.7.149) 39.047 ms 41.488 ms 41.465 ms
8 72-36-7-18.dynamic.range.net (72.36.7.18) 39.894 ms 41.449 ms 41.415 ms
9 speed.actaccess.net (72.36.7.94) 41.408 ms 41.402 ms 41.352 ms
문서 #2:
traceroute to speed-torrington.vcn.com (209.193.66.138), 15 hops max, 60 byte packets
1 _gateway (10.0.2.2) 1.169 ms 1.084 ms 1.068 ms
2 10.36.85.221 (10.36.85.221) 4.877 ms 4.870 ms 4.858 ms
3 69-42-239-254.rrt.stellarllc.net (69.42.239.254) 4.846 ms 4.830 ms 5.334 ms
4 162.211.40.213 (162.211.40.213) 5.319 ms 5.304 ms 5.294 ms
5 100ge1-cns-e.511.stellarllc.net (162.211.40.209) 17.790 ms 17.783 ms 17.773 ms
6 as6939.micemn.net (206.108.255.52) 17.760 ms 14.921 ms 15.595 ms
7 * * *
8 100ge8-1.core1.den1.he.net (184.105.222.93) 32.439 ms 37.128 ms 37.122 ms
9 port-channel1.core2.den1.he.net (184.105.80.150) 38.232 ms * *
10 66.198.192.75 (66.198.192.75) 37.097 ms 36.706 ms 36.665 ms
11 66.198.192.81 (66.198.192.81) 32.208 ms 36.650 ms 36.645 ms
12 172.18.8.118 (172.18.8.118) 49.134 ms 49.488 ms 49.480 ms
13 speed-torrington.vcn.com (209.193.66.138) 48.586 ms 49.087 ms 49.079 ms
문서 #3:
traceroute to sp1.guam.ite.net (202.123.136.76), 15 hops max, 60 byte packets
1 _gateway (10.0.2.2) 0.469 ms 0.426 ms 0.419 ms
2 10.36.85.221 (10.36.85.221) 2.182 ms 2.176 ms 2.093 ms
3 69-42-239-254.rrt.stellarllc.net (69.42.239.254) 2.510 ms 2.502 ms 2.496 ms
4 162.211.40.213 (162.211.40.213) 2.776 ms 3.229 ms 3.220 ms
5 100ge1-cns-e.511.stellarllc.net (162.211.40.209) 14.733 ms 14.725 ms 14.718 ms
6 as6939.micemn.net (206.108.255.52) 14.710 ms 14.209 ms 14.775 ms
7 * * *
8 100ge8-1.core1.den1.he.net (184.105.222.93) 31.650 ms 32.179 ms 32.173 ms
9 port-channel10.core2.slc1.he.net (72.52.92.42) 44.454 ms * *
10 port-channel3.core3.lax2.he.net (184.104.197.62) 61.911 ms * *
11 100ge0-30.core2.lax2.he.net (184.104.196.37) 60.074 ms 60.800 ms 61.265 ms
12 100ge4-2.core1.hnl1.he.net (184.104.193.234) 106.413 ms 107.134 ms 107.122 ms
13 100ge0-36.core1.gum1.he.net (184.105.223.250) 174.245 ms 175.941 ms 175.936 ms
14 64.71.131.186 (64.71.131.186) 169.453 ms 170.536 ms 170.517 ms
- 생성된 모든 파일을 반복하고 첫 번째 줄의 서버 IP를 마지막 줄의 서버 IP와 비교합니다. 일치하면 true 또는 이와 유사한 것을 반환합니다. 따라서 내 소스 파일 예에서 처음 두 테스트 파일은 true이고 마지막 테스트 파일은 false입니다.
- 모든 "실제 파일"(첫 번째 서버 IP와 마지막 서버 IP가 일치하는 파일) 목록을 가져옵니다.
도움을 주시면 감사하겠습니다.
답변1
알아냈어요.
각 서버를 파일로 나누는 스크립트를 만듭니다.
list=$(cat "servers.txt")
for name in $list
do
echo $name > /home/kali/Downloads/servers/$name
done
각 파일을 추적하고 새 파일에 저장합니다.
for file in *
do
name=$(echo $file)
echo "doing " $name
traceroute -m 9 -4 -I $name > $name.txt
done
서버의 IP를 Traceroute의 마지막 홉과 비교합니다.
for newfile in *.txt
do
textname=$(echo $newfile)
first=$(head -1 $textname | awk '{print $4}' | cut -d ',' -f 1)
last=$(tail -1 $textname | awk '{print $3}')
if [ $first = $last ]
then
echo "Yes -" $textname
fi
done
예제 출력:
Yes - blar-speed-01.gpcom.com.txt
Yes - boi-speedtest.tekfinity.net.txt
Yes - boise1.cabospeed.com.txt
Yes - denver-ec.speedtest.centurylink.net.txt
Yes - dexter1.cabospeed.com.txt
Yes - dfw-1.speedtest.ozarksgo.net.txt
Yes - eugene2.speedtest.centurylink.net.txt
Yes - helenast.northcentraltower.com.txt
Yes - htspeed3.hawaiiantel.net.txt
Yes - idahofalls1.cabospeed.com.txt
Yes - itdspeed2.nd.gov.txt
Yes - joplin1.cabospeed.com.txt
Yes - lightspeed.rainierconnect.com.txt