Linux에서 회사에서 소켓을 연결할 때 인터페이스가 항상 오류를 보고하는 것을 발견하여 Linux에서 패킷 캡처를 연구했습니다
tcpdump 호스트 #IP 주소# // 텔넷 패킷을 받거나 보낸 텔넷 패킷을 얻습니다. 호스트 210.27.48.1
tcpdump 매개변수의 주요 옵션
-i: 기본 네트워크 카드는 eth0 콘텐츠입니다. 이 옵션은 텍스트 형식의 프로토콜 패키지에 유용합니다.
-x: 패키지 콘텐츠를 16진수로 표시합니다.
- vvv: 세부 정보 표시
-s: 패키지 길이에 따라 데이터를 가로채고, 패키지가 60바이트보다 큰 경우 패킷 캡처로 인해 데이터가 손실되므로 일반적으로 -s를 0으로 설정합니다. 이는 패킷 크기에 따라 데이터를 가로챌 것입니다. 캡처되는 것은 전체 패킷 데이터입니다
-r: 파일에서 읽기 [ -w, /usr/sbin/tcpdump -r test.out에 해당함 tcpdump 읽기 -w test.out】
-w: 모든 곳의 파일을 가리킵니다. [반드시 -w t.out을 사용해야 하고, 그런 다음 -r t.out을 사용해야 합니다. 패킷 캡처 정보를 살펴보겠습니다. 그렇지 않으면 가독성이 매우 떨어집니다.]
2 .tcpmdump는 패킷을 캡처하고 패킷의 구체적인 의미를 분석합니다
패킷에 의해 전달되는 플래그: S: S=SYC: 연결 시작 플래그 P: P=PUSH: 데이터 전송 플래그 F: F=FIN: 연결 플래그 닫기 : 확인 패킷을 나타냅니다. RST=RESET: 연결이 비정상적으로 종료되었습니다. 플래그가 없음을 나타냅니다.
첫 번째 줄: S: server.hostname에 대한 clinet.hostname의 임시 포트 50741을 나타냅니다. 포트 80은 클라이언트의 초기 패킷 시퀀스 번호를 나타냅니다. 슬라이딩 창(win 14480)의 크기는 14480입니다. [14k] 슬라이딩 창은 TCP 수신 버퍼의 크기이며 TCP 혼잡 제어에 사용됩니다. mss 1460: 수신 가능 최대 패킷 길이, 일반적으로 MTU - 40바이트, IP 헤더와 TCP 헤더는 각각 20바이트입니다. S: SYN 상태를 나타냅니다. 동시에 연결을 시작하라는 clinet.hostname의 요청에 대한 server.hostname의 응답입니다. 측면 초기 패킷 시퀀스 번호 + 1: ack 562843057, 즉, server.hostname은 다음에 이 패킷 시퀀스 번호가 있는 패킷을 수신하기를 기다립니다. 이는 tcp 바이트 스트림(?)의 시퀀스 제어에 사용됩니다. 패킷 시퀀스 번호: 2306923370세 번째 줄: client.hostname tcp 연결이 3방향 핸드셰이크를 완료하는지 다시 확인하세요.
네 번째 줄: P: 푸시 데이터 client.hostname은 포트 50741을 통해 server.hostname에 데이터 패킷을 보냅니다. 데이터 패킷 크기는 1005바이트입니다. 다섯 번째 줄은 server.hostname이 이 데이터를 보내고 받음으로써 이 데이터 패킷에 응답한다는 것입니다. 패킷. ----> 완료되면 연결을 종료하기 위한 server.hostname F 패킷이 나타납니다.라인 6 ----> 라인 10은 기계이기 때문에; 웹 서비스는 동시입니다.
더 많은 Linux 기사를 보려면
Linux Tutorial
칼럼을 방문하여 알아보세요!
위 내용은 Linux에서 패킷 캡처 tcpdump의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!