브라우저에서 웹사이트의 현재 TCP 연결에 대한 SYN 및 SYN+ACK 값을 어떻게 얻을 수 있나요?

브라우저에서 웹사이트의 현재 TCP 연결에 대한 SYN 및 SYN+ACK 값을 어떻게 얻을 수 있나요?

내가 알기로는

'$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 패킷의 델타 시간만 추출하는 것입니다. 예를 들어:

  1. tcpdump -nS -s0 host www.google.com -ttt > /tmp/handshake.txt
  2. cat /tmp/handshake.txt | egrep '\[S\.\]' | awk 'BEGIN { FS = " " } ; { print $1 }'

위의 명령은 요구 사항에 맞게 간단한 bash 스크립트에 추가할 수 있습니다.

"시스템 전체 매개변수"와 비교할 때 무슨 뜻인지 잘 모르겠습니다. 왕복 시간을 제어하는 ​​sysctl 값은 없으며, 대화 중인 서버에 따라 크게 달라집니다.

관련 정보