이 기사는 HTTP, TCP, UDP 및 기타 네트워크 프로토콜 패킷을 포함한 네트워크 데이터 패킷을 얻는 데 사용되는 또 다른 유용한 패킷 캡처 도구 인 Wireshark를 소개합니다.
대학에있을 때 TCP 3 회 핸드 셰이크 프로토콜을 배웠습니다. 그 당시 나는이 책에서 많은 TCP와 UDP 자료를 읽었지만 실제로이 데이터 패킷을 본 적이 없다는 것을 알았습니다. 나는 항상 구름에 떠 다니는 것처럼 느꼈고 꾸준히 배우지 않았습니다. Wireshark를 사용하면 이러한 네트워크 패킷을 가로 채고 패킷의 각 필드를 명확하게 볼 수 있습니다. 네트워크 프로토콜에 대한 이해가 더욱 심화 될 수 있습니다.
저에게 Wireshark는 네트워크 프로토콜을 배울 수있는 최고의 도구입니다.
읽기 내용
Wireshark 소개
Wireshark의 공식 다운로드 웹 사이트 : http://www.wireshark.org/
Wireshark는 매우 강력한 기능을 갖춘 매우 인기있는 네트워크 패킷 분석 소프트웨어입니다. 다양한 네트워크 패킷을 가로 채고 네트워크 패킷의 자세한 정보를 표시 할 수 있습니다.
Wireshark는 자신감과 함께 사용할 수있는 오픈 소스 소프트웨어입니다. Windows 및 Mac OS에서 실행할 수 있습니다.
Wireshark를 사용하는 사람들은 네트워크 프로토콜을 이해해야합니다. 그렇지 않으면 Wireshark를 이해하지 못할 것입니다.
Wireshark가 할 수없는 일
보안상의 이유로 Wireshark는 패킷 만 볼 수 있지만 패킷의 내용을 수정하거나 패킷을 보낼 수는 없습니다.
Wireshark 대 피들러
Fiddler는 Windows에서 실행되는 프로그램으로 특히 HTTP 및 HTTP를 캡처하는 데 사용됩니다.
Wireshark는 HTTP 및 HTTPS를 얻을 수 있지만 HTTPS를 해독 할 수 없으므로 Wireshark는 HTTPS의 내용을 이해할 수 없습니다.
요약하면 HTTP, HTTPS 또는 Fiddler를 사용하는 경우 TCP 및 UDP와 같은 다른 프로토콜은 Wireshark를 사용하십시오.
같은 유형의 다른 도구
Microsoft의 네트워크 모니터
손수건
Wireshark를 사용하는 사람
1. 네트워크 관리자는 Wireshark를 사용하여 네트워크 문제를 확인합니다.
2. 소프트웨어 테스트 엔지니어는 Wireshark를 사용하여 패킷을 캡처하여 테스트 한 소프트웨어를 분석합니다.
3. 소켓 프로그래밍에 종사하는 엔지니어는 Wireshark를 사용하여 디버그를 사용합니다.
4. 나는 화웨이와 ZTE의 대부분의 엔지니어들이 Wireshark를 사용한다고 들었습니다.
요컨대, Wireshark는 인터넷과 관련된 것들에 사용될 수 있습니다.
Wireshark가 잡기 시작합니다
인터페이스를 시작하십시오
Wireshark는 컴퓨터의 특정 네트워크 카드를 캡처하는 네트워크 패키지입니다. 컴퓨터에 여러 개의 네트워크 카드가 있으면 네트워크 카드를 선택해야합니다.
Caputre-> 인터페이스를 클릭하십시오. 다음 대화 상자가 나타나고 올바른 네트워크 카드를 선택하십시오. 그런 다음 "시작"버튼을 클릭하여 잡기 시작하십시오
Wireshark Window 소개
Wireshark는 주로 이러한 인터페이스로 나뉩니다
1. 필터링에 사용되는 디스플레이 필터
2. 패킷 목록 창 (패킷 목록), 캡처 된 패킷, 활성 주소 및 대상 주소 및 포트 번호를 표시합니다. 다른 색상이 나타납니다
3. 패킷 세부 사항 창 (패킷 세부 사항), 패킷에 필드 표시
4. Dissector Pane (16 진수 데이터)
5. 기타 (기타 바, 기타)
Wireshark 디스플레이 필터링
필터링 사용은 매우 중요합니다. 초보자가 Wireshark를 사용하면 많은 중복 정보를 얻을 수 있습니다.이 정보는 수천 또는 수만 개의 레코드에서 필요한 부분을 찾기가 어렵습니다. 그것은 나를 어지럽게 만들었습니다.
필터는 많은 양의 데이터에서 필요한 정보를 신속하게 찾는 데 도움이됩니다.
필터에는 두 가지 유형이 있습니다.
하나는 캡처 된 레코드에서 필요한 레코드를 찾는 데 사용되는 기본 인터페이스의 디스플레이 필터입니다.
하나는 캡처 필터이며, 너무 많은 레코드를 캡처하지 않도록 캡처 된 패킷을 필터하는 데 사용됩니다. 캡처 설정 -> 캡처 필터
필터를 저장하십시오
필터 열에서 필터 표현식을 채우면 저장 버튼을 클릭하고 이름을 제시하십시오. 예를 들어 "필터 102",
필터 막대에는 추가 "필터 102"버튼이 있습니다.
필터링 표현식 규칙
표현 규칙
1. 프로토콜 필터링
예를 들어, TCP는 TCP 프로토콜 만 표시합니다.
2. IP 필터링
예를 들어, ip.src == 192.168.1.102는 소스 주소가 192.168.1.102임을 보여줍니다.
ip.dst == 192.168.1.102, 대상 주소는 192.168.1.102입니다
3. 포트 필터링
Tcp.port == 80, 포트 80
TCP.SRCPORT == 80은 TCP 프로토콜의 위시 포트가 80임을 표시합니다.
4. HTTP 모드 필터링
http.request.method == "get"은 http get 메소드 만 표시됩니다.
5. 논리 연산자는 및/또는입니다
일반적으로 사용되는 필터 표현식
| 필터 표현식 | 사용 |
| http | HTTP 프로토콜 레코드 만 봅니다 |
| ip.src == 192.168.1.102 또는 ip.dst == 192.168.1.102 | 소스 주소 또는 대상 주소는 192.168.1.102입니다 |
패킷 목록 창
패키지 목록에는 패널에 번호, 타임 스탬프, 소스 주소, 대상 주소, 프로토콜, 길이 및 패킷 정보가 표시됩니다. 다른 프로토콜이 다른 색상으로 표시되는 것을 볼 수 있습니다.
이러한 디스플레이 색상 규칙,보기 -> 채색 규칙을 수정할 수도 있습니다.
패킷 세부 사항 창
이 패널은 프로토콜의 모든 필드를 볼 수있는 가장 중요한 것입니다.
각 줄의 정보는 다음과 같습니다
프레임 : 물리적 계층의 데이터 프레임 개요
이더넷 II : 데이터 링크 계층 이더넷 프레임 헤더 정보
인터넷 프로토콜 버전 4 : 인터넷 계층 IP 패키지 헤더 정보
전송 제어 프로토콜 : 전송 계층 t의 데이터 세그먼트 헤더 정보, 여기에 TCP가 있습니다.
하이퍼 텍스트 전송 프로토콜 : 애플리케이션 계층 정보, 다음은 HTTP 프로토콜입니다.
Wireshark 및 해당 OSI 7 계층 모델
TCP 패키지의 특정 콘텐츠
아래 그림에서 Wireshark에서 캡처 한 TCP 패키지의 각 필드를 볼 수 있습니다.
TCP 3 회 핸드 셰이크 프로세스의 예 분석
이것을보고, 나는 기본적으로 Wireshak에 대한 예비 이해를 얻었습니다. 이제 TCP 3 회 핸드 셰이크의 예를 살펴 보겠습니다.
세 번의 핸드 셰이크 과정은입니다
나는이 그림을 여러 번 보았다. 이번에는 Wireshark를 사용하여 실제로 세 가지 핸드 셰이크의 프로세스를 분석합니다.
Wireshark를 열고 브라우저를 열고 http://www.cnblogs.com/tankxiao를 입력하십시오
Wireshark에 필터를 필터링하려면 HTTP를 입력 한 다음 get /tankxiao http /1.1의 레코드를 선택하고 마우스 오른쪽 버튼을 클릭하고 "TCP 스트림 팔로우", 클릭하십시오.
이것의 목적은 브라우저가 웹 사이트를 열는 것과 관련된 데이터 패킷을 얻는 것입니다. 다음 사진을 얻을 수 있습니다
그림에서 Wireshark가 3 개의 악수로 3 개의 데이터 패킷을 가로 채 었다는 것을 알 수 있습니다. 네 번째 패키지는 HTTP이며 HTTP가 TCP를 사용하여 연결을 설정한다는 것을 보여줍니다.
첫 핸드 셰이크 패킷
클라이언트는 플래그 비트 SYN으로 TCP를 보내고 일련 번호는 0이므로 클라이언트의 연결 요청을 나타냅니다. 다음 그림
중고 핸드 셰이크를위한 데이터 패킷
서버는 확인 패킷을 다시 보냅니다. 플래그는 SYN 및 ACK입니다. 아래 그림과 같이 확인 번호 (확인 번호)를 클라이언트의 ISN 플러스 1로 설정하십시오. 즉, 0+1 = 1입니다.
세 번째 핸드 셰이크를위한 데이터 패킷
클라이언트는 ACK (AccountGment Packet)를 다시 보냅니다. SYN 플래그 비트는 0이고 ACK 플래그 비트는 1입니다. 서버는 ACK 번호 필드 +1을 보내고 확인 필드를 다른 당사자에게 넣습니다. 아래 그림과 같이 ISN의 +1을 데이터 세그먼트에 넣습니다.
이런 식으로, TCP 핸드 셰이크는 세 번 전달되었고 연결이 설정되었습니다.
위는 Wireshark 및 학습 TCP에 대한 기본 소개입니다. 우리는 미래에 관련 지식을 계속 조직 할 것입니다. 이 사이트를 지원 해주셔서 감사합니다!