
내가 알기로는
'$sysctl | grep net.ipv4.tcp'
시스템 전반에 걸친 TCP 매개변수 값을 제공합니다. 브라우저를 열고 다음과 같은 URL을 입력하는 대학 실습 파일을 위해 Bash에서 스크립트를 만들어야 합니다.www.google.com그런 다음 이 연결 설정의 SYN 시간과 지연에 대한 결정을 내리고 SYN 및 SYN+ACK에 대한 메시지를 표시하기 위해 시스템 전체 매개변수를 가져와 비교하는 데 필요한 SYN+ACK 타이밍은 무엇입니까?
답변1
tcpdump를 사용하면 SYN과 SYN/ACK 사이의 델타 시간을 확인하여 초기 RTT를 얻을 수 있습니다(클라이언트에서 캡처한다고 가정).
예를 들어, tcpdump -nS -s0 host www.google.com -ttt
찾고 있는 정보를 표시합니다.
초기 왕복 시간만 자동으로 추출하려는 경우(오류 방지가 아닌) 간단한 방법 중 하나는 tcpdump 출력을 파일로 리디렉션하고 grep 및 awk를 사용하여 SYN/ACK 패킷의 델타 시간만 추출하는 것입니다. 예를 들어:
tcpdump -nS -s0 host www.google.com -ttt > /tmp/handshake.txt
cat /tmp/handshake.txt | egrep '\[S\.\]' | awk 'BEGIN { FS = " " } ; { print $1 }'
위의 명령은 요구 사항에 맞게 간단한 bash 스크립트에 추가할 수 있습니다.
"시스템 전체 매개변수"와 비교할 때 무슨 뜻인지 잘 모르겠습니다. 왕복 시간을 제어하는 sysctl 값은 없으며, 대화 중인 서버에 따라 크게 달라집니다.