
4개의 광고 서버가 있는 도메인이 있습니다. 내가 실행할 때 ping domain
항상 동일한 주소로 핑을 보내고 다른 세 주소로는 핑을 보내지 않습니다. 절대로. 실행하면 host domain
4개의 IP 주소가 다양한 순서로 반환되는데 가 있는 하나만 표시되는 이유는 무엇입니까 ping
?
아래는 에서 반환한 내용의 일부입니다 strace ping c1 domain
. 로 끝나는 IP 주소를 선택하기 전에 각 IP 주소에 대한 연결 유형이 있는 것 같습니다 213
.
socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(0),sin_addr=inet_addr("172.18.100.57")}, 16) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(49807), sin_addr=inet_addr("172.18.100.242")}, [16]) = 0
connect(4, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0
connect(4, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("172.18.100.59")}, 16) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(56595), sin_addr=inet_addr("172.18.100.242")}, [16]) = 0
connect(4, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0
connect(4, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("172.18.100.213")}, 16) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(38331), sin_addr=inet_addr("172.18.100.242")}, [16]) = 0
connect(4, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0
connect(4, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("172.18.100.56")}, 16) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(54349), sin_addr=inet_addr("172.18.100.242")}, [16]) = 0
close(4) = 0
socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(1025), sin_addr=inet_addr("172.18.100.213")}, 16) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(46179), sin_addr=inet_addr("172.18.00.242")}, [16]) = 0
close(4) = 0
setsockopt(3, SOL_RAW, ICMP_FILTER, ~(1<<ICMP_ECHOREPLY|1<<ICMP_DEST_UNREACH|1<<ICMP_SOURCE_QUENCH|1<<ICMP_REDIRECT|1<<ICMP_TIME_EXCEEDED|1<<ICMP_PARAMETERPROB), 4) = 0