라우터는 Wi-Fi 트래픽 스니퍼를 통해 연결됩니다. 네트워크 패킷 분석기. 스니퍼: 영어와 컴퓨터 기술의 관점에서 스니퍼란 무엇입니까?

Wireshark는 컴퓨터의 네트워크 인터페이스를 통과하는 트래픽을 분석하는 데 사용할 수 있는 강력한 네트워크 분석기입니다. 네트워크 문제를 감지 및 해결하고, 웹 애플리케이션을 디버그하고, 네트워크 프로그램또는 웹사이트. Wireshark를 사용하면 모든 수준에서 패킷의 내용을 완전히 볼 수 있으므로 낮은 수준에서 네트워크가 어떻게 작동하는지 더 잘 이해할 수 있습니다.

모든 패킷은 실시간으로 캡처되어 읽기 쉬운 형식으로 제공됩니다. 이 프로그램은 매우 지원적입니다. 강력한 시스템필터링, 색상 강조 표시 및 검색에 도움이 되는 기타 기능 필수 패키지. 이 튜토리얼에서는 Wireshark를 사용하여 트래픽을 분석하는 방법을 살펴보겠습니다. 최근 개발자들은 Wireshark 2.0 프로그램의 두 번째 분기 작업을 시작했으며 특히 인터페이스에 대한 많은 변경과 개선이 이루어졌습니다. 이것이 우리가 이 글에서 사용할 것입니다.

트래픽 분석 방법을 고려하기 전에 프로그램이 어떤 기능을 더 자세히 지원하는지, 어떤 프로토콜과 함께 작동할 수 있는지, 무엇을 할 수 있는지 고려해야 합니다. 프로그램의 주요 기능은 다음과 같습니다.

  • 유선 또는 기타 유형의 네트워크 인터페이스에서 실시간으로 패킷을 캡처하고 파일에서 읽습니다.
  • 지원되는 캡처 인터페이스는 이더넷, IEEE 802.11, PPP 및 로컬 가상 인터페이스입니다.
  • 필터를 사용하면 다양한 매개변수를 기반으로 패킷을 필터링할 수 있습니다.
  • 알려진 모든 프로토콜이 목록에서 강조 표시됩니다. 다른 색상, TCP, HTTP, FTP, DNS, ICMP 등과 같은;
  • VoIP 통화 트래픽 캡처 지원
  • 인증서를 사용할 수 있는 경우 HTTPS 트래픽의 암호 해독이 지원됩니다.
  • WEP 및 WPA 트래픽 암호 해독 무선 네트워크열쇠와 악수로;
  • 네트워크 부하 통계 표시
  • 모든 네트워크 계층의 패키지 내용을 봅니다.
  • 패키지를 보내고 받는 시간을 표시합니다.

이 프로그램에는 다른 많은 기능이 있지만 이것이 여러분이 관심을 가질 만한 주요 기능이었습니다.

와이어샤크를 사용하는 방법

이미 프로그램이 설치되어 있다고 가정하지만, 그렇지 않은 경우 공식 저장소에서 설치할 수 있습니다. 이렇게 하려면 Ubuntu에서 다음 명령을 입력하십시오.

sudo apt 설치 wireshark

설치 후 배포판의 기본 메뉴에서 프로그램을 찾을 수 있습니다. 슈퍼유저 권한으로 Wireshark를 실행해야 합니다. 그렇지 않으면 네트워크 패킷을 분석할 수 없기 때문입니다. 이 작업은 주 메뉴에서 수행하거나 KDE 명령을 사용하여 터미널을 통해 수행할 수 있습니다:

Gnome/Unity의 경우:

프로그램의 기본 창은 세 부분으로 나뉩니다. 첫 번째 열에는 분석에 사용할 수 있는 네트워크 인터페이스 목록이 포함되어 있고, 두 번째 열에는 파일 열기 옵션, 세 번째 열에는 도움말이 포함되어 있습니다.

네트워크 트래픽 분석

분석을 시작하려면 네트워크 인터페이스(예: eth0)를 선택하고 버튼을 클릭하세요. 시작.

그 후에는 이미 인터페이스를 통과하는 패킷 스트림이 포함된 다음 창이 열립니다. 이 창은 여러 부분으로 나누어져 있습니다.

  • 윗부분- 다양한 버튼이 있는 메뉴와 패널입니다.
  • 패키지 목록- 스트림이 다음에 표시됩니다. 네트워크 패킷당신이 분석할 것입니다;
  • 패키지 내용물- 바로 아래에는 선택한 패키지의 내용물이 표시되어 있으며, 운송 수준에 따라 카테고리로 구분되어 있습니다.
  • 실제 성능- 맨 아래에는 패키지 내용이 표시됩니다. 실제 형태로, HEX 형태이기도 합니다.

패키지를 클릭하면 해당 내용을 분석할 수 있습니다.

여기서는 사이트의 IP 주소를 얻기 위한 DNS 요청 패킷을 볼 수 있으며, 요청 자체에서는 도메인이 전송되고, 응답 패킷에서는 질문과 답변을 받습니다.

이상 편리한 시청항목을 두 번 클릭하면 새 창에서 패키지를 열 수 있습니다.

Wireshark 필터

필요한 패키지를 찾기 위해 패키지를 수동으로 탐색하는 것은 특히 활성 스레드의 경우 매우 불편합니다. 따라서 이 작업에는 필터를 사용하는 것이 좋습니다. 메뉴 아래에 필터 입력을 위한 특수 라인이 있습니다. 클릭하시면 됩니다 표현필터 디자이너를 열려면 필터 디자이너가 많이 있으므로 가장 기본적인 것을 살펴 보겠습니다.

  • ip.dst- 대상 IP 주소;
  • ip.src- 발신자의 IP 주소
  • ip.addr- 발신자 또는 수신자의 IP;
  • ip.proto- 규약;
  • tcp.dst포트- 목적지 항구
  • tcp.srcport- 송신 포트;
  • ip.ttl- TTL 필터는 네트워크 거리를 결정합니다.
  • http.request_uri- 요청한 사이트 주소.

필드와 필터 값 사이의 관계를 지정하려면 다음 연산자를 사용할 수 있습니다.

  • == - 같음;
  • != - 같지 않다.
  • < - 더 적은;
  • > - 더;
  • <= - 작거나 같음;
  • >= - 그 이상 또는 같음;
  • 성냥- 정규식;
  • 포함- 포함되어 있습니다.

여러 표현식을 결합하려면 다음을 사용할 수 있습니다.

  • && - 패키지에 대해 두 표현식이 모두 참이어야 합니다.
  • || - 표현 중 하나가 참일 수 있습니다.

이제 예제를 사용하여 여러 필터를 자세히 살펴보고 관계의 모든 징후를 이해해 보겠습니다.

먼저 194.67.215로 전송된 모든 패킷을 필터링하겠습니다. 필터 필드에 문자열을 입력하고 적용하다. 편의를 위해 버튼을 사용하여 Wireshark 필터를 저장할 수 있습니다. 구하다:

IP.dst == 194.67.215.125

그리고 전송된 패킷뿐만 아니라 이 노드로부터 응답으로 수신된 패킷도 수신하려면 두 가지 조건을 결합할 수 있습니다.

ip.dst == 194.67.215.125 || ip.src == 194.67.215.125

전송된 대용량 파일을 선택할 수도 있습니다.

http.content_length > 5000

Content-Type을 필터링하면 업로드된 모든 사진을 선택할 수 있습니다. 분석을 해보자 Wireshark 트래픽, 이미지라는 단어가 포함된 패키지:

http.content_type에 이미지가 포함되어 있습니다.

필터를 지우려면 버튼을 누르세요. 분명한. 필터링에 필요한 모든 정보를 항상 알 수는 없지만 네트워크를 탐색하고 싶은 경우가 있습니다. 패키지의 모든 필드를 열로 추가하고 각 패키지의 일반 창에서 해당 내용을 볼 수 있습니다.

예를 들어, 패킷의 TTL(Time to Live)을 열로 표시하고 싶습니다. 이렇게 하려면 패키지 정보를 열고 IP 섹션에서 이 필드를 찾으세요. 그런 다음 전화 상황에 맞는 메뉴그리고 옵션을 선택하세요 열로 적용:

같은 방법으로 다음을 기반으로 필터를 만들 수 있습니다. 필수 필드. 그것을 선택하고 상황에 맞는 메뉴를 불러온 다음 클릭하십시오. 필터로 적용또는 필터로 준비을 선택한 다음 선택된선택한 값만 표시하려면 또는 선택되지 않은제거하려면:

지정된 필드와 해당 값이 적용되거나 두 번째 경우 필터 필드에 삽입됩니다.

이러한 방식으로 모든 패키지 또는 열의 필드를 필터에 추가할 수 있습니다. 상황에 맞는 메뉴에도 이 옵션이 있습니다. 프로토콜을 필터링하려면 다음을 사용할 수 있습니다. 간단한 조건. 예를 들어 HTTP 및 DNS 프로토콜에 대한 Wireshark 트래픽을 분석해 보겠습니다.

다른 것 흥미로운 기회프로그램들 - Wireshark 사용사용자 컴퓨터와 서버 간의 특정 세션을 추적합니다. 이렇게 하려면 패키지의 상황에 맞는 메뉴를 열고 다음을 선택하세요. TCP 스트림을 따르세요.

그러면 서버와 클라이언트 간에 전송된 모든 데이터를 찾을 수 있는 창이 열립니다.

Wireshark 문제 진단

Wireshark 2.0을 사용하여 네트워크 문제를 감지하는 방법이 궁금할 수 있습니다. 이렇게 하려면 창의 왼쪽 하단에 다음이 있습니다. 둥근 버튼, 클릭하면 창이 열립니다 전문가 도구. 여기에서 Wireshark는 모든 오류 메시지와 네트워크 문제를 수집합니다.

창은 오류, 경고, 공지, 채팅 등의 탭으로 구분됩니다. 이 프로그램은 많은 네트워크 문제를 필터링하고 찾을 수 있으며 여기에서 해당 문제를 매우 빠르게 볼 수 있습니다. Wireshark 필터도 여기에서 지원됩니다.

Wireshark 트래픽 분석

연결이 암호화되지 않은 경우 사용자가 다운로드한 파일과 본 파일을 매우 쉽게 이해할 수 있습니다. 이 프로그램은 콘텐츠 추출을 매우 훌륭하게 수행합니다.

이렇게 하려면 먼저 패널의 빨간색 사각형을 사용하여 트래픽 캡처를 중지해야 합니다. 그럼 메뉴를 열어주세요 파일 -> 객체 내보내기 -> HTTP:

많은 사용자는 폐쇄된 인터넷 리소스에 등록하거나 인증할 때 로그인 및 비밀번호를 입력하고 Enter 키를 누르면 이 데이터를 쉽게 가로챌 수 있다는 사실을 인식하지 못합니다. 보안되지 않은 형태로 네트워크를 통해 전송되는 경우가 많습니다. 따라서 로그인하려는 사이트가 다음을 사용하는 경우 HTTP 프로토콜, 그러면 이 트래픽을 캡처하고 분석하는 것이 매우 쉽습니다. Wireshark 사용그런 다음 특수 필터와 프로그램을 사용하여 비밀번호를 찾아 해독합니다.

비밀번호를 가로챌 수 있는 가장 좋은 장소는 외부 리소스에 등록할 때 모든 사용자의 트래픽이 폐쇄된 리소스(예: 메일)로 이동하거나 인터넷에 액세스하기 위해 라우터 앞으로 이동하는 네트워크의 핵심입니다. 우리는 거울을 설치하고 해커가 된 기분을 느낄 준비가 되었습니다.

1단계. Wireshark를 설치하고 실행하여 트래픽을 캡처합니다.

때로는 이를 수행하기 위해 트래픽을 캡처할 인터페이스만 선택하고 시작 버튼을 클릭하는 것으로 충분합니다. 우리의 경우 무선 네트워크를 통해 캡처하고 있습니다.

트래픽 캡처가 시작되었습니다.

2단계. 캡처된 POST 트래픽 필터링

브라우저를 열고 사용자 이름과 비밀번호를 사용하여 일부 리소스에 로그인을 시도합니다. 인증 프로세스가 완료되고 사이트가 열리면 Wireshark에서 트래픽 캡처가 중지됩니다. 다음으로 프로토콜 분석기를 열고 다음을 확인하세요. 많은 수의패키지. 대부분의 IT 전문가는 다음에 무엇을 해야 할지 모르기 때문에 포기합니다. 그러나 우리는 다음을 포함하는 특정 패키지를 알고 있고 이에 관심이 있습니다. 포스트 데이터, 이는 우리에 형성됩니다. 로컬 머신화면에서 양식을 작성하여 이메일로 보낼 때 원격 서버브라우저에서 “로그인” 또는 “인증” 버튼을 클릭할 때.

창으로 들어가세요 특수 필터캡처된 패킷을 표시하려면: http.요구.방법 == “우편"

그리고 수천 개의 패키지 대신 우리가 찾고 있는 데이터가 포함된 패키지 하나만 보입니다.

3단계. 사용자의 로그인 및 비밀번호 찾기

빠른 클릭 오른쪽 버튼마우스를 누르고 메뉴에서 항목을 선택합니다. TCP 스팀 팔로우


그 후에는 페이지의 내용을 코드로 복원하는 새 창에 텍스트가 나타납니다. 비밀번호와 사용자 이름에 해당하는 "password" 및 "user" 필드를 찾아보겠습니다. 경우에 따라 두 필드 모두 쉽게 읽을 수 있고 암호화되지도 않지만 Mail.ru, Facebook, VKontakte 등과 같이 매우 잘 알려진 리소스에 액세스할 때 트래픽을 캡처하려고 하면 비밀번호가 암호화됩니다.

HTTP/1.1 302 찾음

서버: Apache/2.2.15(CentOS)

X-Powered-By: PHP/5.3.3

P3P: CP="NOI ADM DEV PSAi COM NAV 우리의 OTRo STP IND DEM"

쿠키 설정: 비밀번호= ; 만료=2024년 11월 7일 목요일 23:52:21 GMT; 경로=/

위치:login.php

콘텐츠 길이: 0

연결: 닫기

콘텐츠 유형: 텍스트/html; 문자셋=UTF-8

따라서 우리의 경우:

사용자 이름: networkguru

비밀번호:

4단계. 비밀번호를 해독하기 위한 인코딩 유형 결정

예를 들어 http://www.onlinehashcrack.com/hash-identification.php#res 웹사이트로 이동하여 식별 창에 비밀번호를 입력하세요. 우선순위에 따라 인코딩 프로토콜 목록이 제공되었습니다.

5단계. 사용자 비밀번호 해독

~에 이 단계에서 hashcat 유틸리티를 사용할 수 있습니다:

~# hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt

출력에서 우리는 해독된 비밀번호인 simplepassword를 받았습니다.

따라서 Wireshark의 도움으로 우리는 애플리케이션 및 서비스 운영 문제를 해결할 수 있을 뿐만 아니라 사용자가 웹 양식에 입력하는 비밀번호를 가로채는 해커가 되어 볼 수도 있습니다. 비밀번호를 알아낼 수도 있습니다. 사서함사용자는 간단한 필터를 사용하여 다음을 표시합니다.

  • POP 프로토콜과 필터는 다음과 같습니다: pop.request.command == "USER" || pop.request.command == "통과"
  • IMAP 프로토콜 및 필터는 다음과 같습니다. imap.request에는 "login"이 포함되어 있습니다.
  • SMTP 프로토콜다음 필터를 입력해야 합니다. smtp.req.command == "인증"

인코딩 프로토콜을 해독하기 위한 더 심각한 유틸리티도 있습니다.

6단계: 트래픽이 암호화되고 HTTPS를 사용하는 경우에는 어떻게 되나요?

이 질문에 대답할 수 있는 몇 가지 옵션이 있습니다.

Option 1. 사용자와 서버의 연결이 끊어졌을 때 연결하고 연결이 되는 순간의 트래픽을 캡처합니다(SSL Handshake). 연결이 설정되면 세션 키를 가로챌 수 있습니다.

옵션 2: Firefox 또는 Chrome에서 기록한 세션 키 로그 파일을 사용하여 HTTPS 트래픽을 해독할 수 있습니다. 이렇게 하려면 이러한 암호화 키를 로그 파일(FireFox 기반 예)에 기록하도록 브라우저를 구성해야 하며 사용자는 해당 로그 파일을 받아야 합니다. 기본적으로 세션 키 파일을 훔쳐야 합니다. 하드 드라이브다른 사용자(불법). 그런 다음 트래픽을 캡처하고 결과 키를 사용하여 암호를 해독합니다.

설명.우리는 비밀번호를 도용하려는 사람의 웹 브라우저에 대해 이야기하고 있습니다. 우리 자신의 것을 해독한다는 뜻이라면 HTTPS 트래픽연습하고 싶다면 이 전략이 효과가 있을 것입니다. 다른 사용자의 컴퓨터에 액세스하지 않고 다른 사용자의 HTTPS 트래픽을 해독하려는 경우에는 작동하지 않습니다. 이는 암호화이자 개인 정보 보호입니다.

옵션 1 또는 2에 따라 키를 받은 후 WireShark에 등록해야 합니다.

  1. 편집 - 기본 설정 - 프로토콜 - SSL 메뉴로 이동합니다.
  2. "여러 TCP 세그먼트에 걸쳐 SSL 레코드 재조립" 플래그를 설정합니다.
  3. "RSA 키 목록"을 선택하고 편집을 클릭합니다.
  4. 모든 필드에 데이터를 입력하고 키를 사용하여 파일에 경로를 씁니다.

WireShark는 다음을 사용하여 암호화된 패킷을 해독할 수 있습니다. RSA 알고리즘. DHE/ECDHE, FS, ECC 알고리즘을 사용하는 경우 스니퍼는 도움이 되지 않습니다.

옵션 3. 사용자가 사용 중인 웹 서버에 접근하여 키를 얻습니다. 그러나 이것은 훨씬 더 어려운 작업입니다. 안에 기업 네트워크애플리케이션 디버깅이나 콘텐츠 필터링을 위해 이 옵션은 법적 근거로 구현되지만 사용자 비밀번호를 가로챌 목적은 아닙니다.

보너스

비디오: Wireshark 패킷 스니핑 사용자 이름, 비밀번호 및 웹 페이지

인터셉터-NG란?

ARP 기능의 본질을 고려해 봅시다. 간단한 예. 컴퓨터 A(IP 주소 10.0.0.1)와 컴퓨터 B(IP 주소 10.22.22.2)는 이더넷 네트워크로 연결되어 있습니다. 컴퓨터 A는 컴퓨터 B의 IP 주소를 알고 있는 컴퓨터 B로 데이터 패킷을 보내려고 합니다. 그러나 연결된 이더넷 네트워크는 IP 주소와 작동하지 않습니다. 따라서 이더넷을 통해 전송하려면 컴퓨터 A가 컴퓨터 B의 주소를 알아야 합니다. 이더넷 네트워크(이더넷 용어의 MAC 주소). 이 작업에는 다음이 사용됩니다. ARP 프로토콜. 이 프로토콜을 사용하여 컴퓨터 A는 동일한 브로드캐스트 도메인에 있는 모든 컴퓨터에 주소가 지정된 브로드캐스트 요청을 보냅니다. 요청의 본질: "IP 주소가 10.22.22.2인 컴퓨터, MAC 주소가 있는 컴퓨터에 MAC 주소를 제공하십시오(예: a0:ea:d1:11:f1:01)." 이더넷 네트워크는 컴퓨터 B를 포함하여 동일한 이더넷 세그먼트에 있는 모든 장치에 이 요청을 전달합니다. 컴퓨터 B는 요청에 대해 컴퓨터 A에 응답하고 해당 MAC 주소(예: 00:ea:d1:11:f1:11)를 보고합니다. 컴퓨터 B의 MAC 주소를 수신하면 컴퓨터 A는 이더넷 네트워크를 통해 모든 데이터를 컴퓨터로 전송할 수 있습니다.

각 데이터 전송 전에 ARP 프로토콜을 사용할 필요가 없도록 수신된 MAC 주소와 해당 IP 주소가 일정 시간 동안 테이블에 기록됩니다. 동일한 IP로 데이터를 전송해야 하는 경우 원하는 MAC을 검색하기 위해 매번 장치를 폴링할 필요가 없습니다.

방금 본 것처럼 ARP에는 요청과 응답이 포함됩니다. 응답의 MAC 주소는 MAC/IP 테이블에 기록됩니다. 응답이 수신되면 어떤 방식으로든 진위 여부가 확인되지 않습니다. 게다가 요청이 이루어졌는지 여부도 확인하지 않습니다. 저것들. 스푸핑된 데이터와 함께 (요청 없이도) 대상 장치에 즉시 ARP 응답을 보낼 수 있으며, 이 데이터는 MAC/IP 테이블에 저장되어 데이터 전송에 사용됩니다. 이것이 ARP 에칭, ARP 캐시 중독이라고도 불리는 ARP 스푸핑 공격의 본질입니다.

ARP 스푸핑 공격에 대한 설명

두 대의 컴퓨터(노드) M과 N 지역 네트워크이더넷 교환 메시지. 동일한 네트워크에 위치한 공격자 X는 이러한 노드 간의 메시지를 가로채기를 원합니다. ARP 스푸핑 공격을 사용하기 전에 네트워크 인터페이스노드 M ARP 테이블에는 IP와 MAC 주소노드 N. 또한 노드 N의 네트워크 인터페이스에서 ARP 테이블에는 노드 M의 IP 및 MAC가 포함됩니다.

ARP 스푸핑 공격 중에 노드 X(공격자)는 노드 M과 노드 N에 두 개의 ARP 응답(요청 없이)을 보냅니다. 노드 M에 대한 ARP 응답에는 N의 IP 주소와 X의 MAC 주소가 포함됩니다. 노드 N에 대한 ARP 응답에는 IP 주소 M과 MAC 주소 X가 포함됩니다.

컴퓨터 M과 N은 자발적 ARP를 지원하므로 ARP 응답을 받은 후 ARP 테이블을 변경합니다. 이제 ARP 테이블 M에는 IP 주소 N에 바인딩된 MAC 주소 X가 포함되고, ARP 테이블 N에는 MAC 주소 X가 포함됩니다. IP 주소 M에 바인딩됩니다.

따라서 ARP 스푸핑 공격이 완료되고 이제 M과 N 사이의 모든 패킷(프레임)이 X를 통과합니다. 예를 들어 M이 컴퓨터 N으로 패킷을 보내려고 하면 M은 자신의 ARP 테이블을 보고 항목을 찾습니다. 호스트의 IP 주소 N을 사용하여 거기에서 MAC 주소를 선택하고(노드 X의 MAC 주소는 이미 있음) 패킷을 전송합니다. 패킷은 인터페이스 X에 도착하여 분석된 후 노드 N으로 전달됩니다.



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: