Packet

다원·2022년 12월 20일
0

VMware_share 폴더 설정

윈도우에(공유폴더명)폴더 생성
vmware setting > Option > Shared Folders
Always Enable 설정 add 폴더에 윈도우 (공유폴더명)폴더 설정
가상머신에서 ls /mnt/hgfs/
ln -s(소프트 링크 설정) /mnt/hgfs/(공유폴더
명) /root/Desktop/(생성할 폴더명)
:mnt/hgfs 위치한 (공유폴더
명)폴더를 root/Desktop 위치에 (생성할 폴더_명)폴더를 소프트링크로 마운트하여 설정

Packet 모으기

스니퍼: 라우터, 게이트웨이 또는 원하는 서버에서 SNMP프로토콜을 사용하여 패킷을 모음
** 취약점을 갖고 있는 리눅스 서버 중 Metaploitable 시스템으로 실습

Wireshark

패킷을 모은 것을 저장하여 외부 폴더로 저장할 수 있음

:3-Way handshake 공유

  • login.css : 웹에서 페이지를 만들때 사용하는 확장자 .css
  • follow TCP stream:패킷의 내용을 확인 할 수 있음

wireshark 다른 환경으로 출력

Wireshark > file> Packet Dissctions
데이터 다른 환경으로 출력 할 수 있음

Merge with capture

파일 병합

Packet 검색

wireshark > edit > Find Packet
Display filter: 특정 조건의 패킷만 하이라이트
Hex Value: 16진수, Mac주소 검색 시 사용
String: 평문장

Mark Packet

특정 패킷>우클릭>Mark packet
:특정 패킷을 표시하고자 할 때 사용

Time


현재 Time의 경우 1번과 2번 패킷사이의 패킷 캡처 타임 출력, 신뢰 할 수 없음

  • view>Time Display>

  • time of day로 설정하면 time에 해당 패킷이 캡처된 시간을 출력

  • 특정 packet 시간 참조 설정
    packet 시간 참조 설정을 기준으로하여 시간 생성

  • 참조 설정 된 packet은 REF

    이후 Packet 시간 재 생성 > packet의 걸리는 시간을 확인 할 수 있음

Captuer


usbmon1: 모니터모드

promiscuous mode: 동일한 네트워크를 통과하는 패킷들의 정보를 모두 수집함
네트워크 트래픽이 순간적으로 올라가는 경우: 특정인이 높은 네트워크량을 사용할 경우
네트워크 트래픽이 일시적으로 올라가는 경우: promiscuous mode를 사용하고 있음을 확인 할 수 있음
같은 네트워크의 대역폭을 확인하는 목적으로 만든 mode

filter 이용

캡처 필터에는 Winpcap 인식하는 BPF 구문을 사용, 대부분 패킷 스니핑 어플이 Libpcap 이나 winpcap 라이브러리에 의존하기에 대부분 패킷 스니핑 어플에 적용, 필터를 표현식으로 부르고 표현식은 프리미티브로 이루어짐

캡처 필터는 처음부터 필터를 걸얻며 필터에 해당되는 패킷만 캡처되는 방식
필터 표현식은 이미 모두 캡처된 패킷 중에서 필터링 할 패킷만 볼 때 사용

프리미티브

ID 이름이나 숫자 앞에 하나 또는 그 이상의 한정자를 이루어짐
A. TYPE host, net, port ..
B. Direction src, dst 등
C. protocol
D. 논리 연산자에 AND (&&) ...등
E. 형식: 한정자, 한정자 ID 연산자 한정자 한정자 ID

  • 필터 표현식:
    ip.addr == BT 식
    외에 frame.len <= 128
    ex)
    ip.addr==192.168.0.1 or ip.addr==192.168.0.2
    ip.dst_host==192.168.100.0 && tcp.port==80

  • 자주 사용하는 프리미티브 설정
    Capture filter > profile-default

TCP

필터
특정 네트워크 장치, 그룹화 된 장치에서 만들어지는 상황에 따라서 필터링은 MAC주소, IPV4,IPV6 해당 DNS 호스트 이름을 기반으로 해서 작성할 수 있음

네트워크에 있는 서버와 통신하는 특정 호스트의 트래픽을 캡처한다면, 서버에서 해당 호스트의 IPV4주소와 연관된 모든 트래픽 캡처를 위해 HOST 한정자를 사용
ip.host ==172.16.16.159 식으로 필터를 만들 수 있음
사용자가 IPV6를 사용하면, host 한정자에 IPV6주소를 주어서 설정
host 한정자를 사용해서 장치의 호스트_명에 기반을 두고 필터링 할 시
ip.host ==centos2식으로 해줄 수 있고
호스트에 대한 IP주소가 변경될 수 있다고 생각되면 MAC주소를 기반으로 해서
mac = 식으로
전송 방향 한정자
특정호스트로 들어오거나 나가는 패킷에 기반을 두고 트래픽 캡처
특정 호스트 IP에서 출발한 트래픽만 캡처하려면 src/dst 한정자 사용
ip.dst OR ip.dst_host==IP, ip.src OR ip.str_host==IP 구문 사용
의심스런 목적지 호스트 ip로 향하는 트래픽만 캡처하려면 dst 한정자
출발지 호스트 ip 트래픽 캡처 src 한정자 사용
포트 필터링
호스트에서 필터링 이외에 각 패킷에 사용되는 포트를 기반으로하여 필터링
포트 필터링: 서비스 포트를 사용해서 서비스와 어플을 기반으로 필터링 가능

TCP 8080 port 트래픽 캡처 시 =tcp.port = 8080
UDP 43 port 트래픽 캡처 시 =udp.port=43
8080포트만 제외하고 모든 트래픽을 킵처= !tcp.port==8080 (!:부정의 의미)
포트 필터+전송방향 한정자
포트 필터와 전송방향 한정자 결합
HTTP Port 80에서 웹 서버 목적지로 가는 트래픽 캡처 시 tcp.dstport=80
== 이 있으면 한정자 사이에 .
=> 비교 연산자와 논리 연산자를 사용할 수 있음
ICMP 프로토콜만 보고자 한다면, ICMP만 입력

캡처와 필터 표현식의 차이
캡처 필터: 필터를 걸어두면 필터에 해당되는 패킷만 캡처
필터 표현식: 이미 모두 캡처된 패킷들 중에서 필터링 할 패킷만 볼 때 사용

TCP Flag 종류
PSH와 같은 문자로 보이지 않고, 8이라는 숫자로 보일 때가 있으므로 구별할 수 있어야함
SYN(synchronization) 연결 요청 플래그 : 통신 시작 시 세션을 시작 =>tcp[13]==2
ACK(Acknowledgment) 응답 플래그 : 송신측으로부터 패킷을 잘 받았다고 알림 =>tcp[13]==16
FIN(Finish) 연결 종료 플래그 : 더 이상 전송할 데이터가 없어서 세션을 종료 =>tcp[13]==1
RST(Reset) 연결 재설정 플래그 : 비정상적인 세션을 끊기 위해 연결을 재설정 =>tcp[13]==4
PSH(Push) 넣기 플래그 : 버퍼가 채워지기를 기다리지 않고 받는 즉시 버퍼링 없이 응용층 API에게 바로 전달 =>tcp[13]==8
URG(Urgent) 긴급 데이터 플래그 : 긴급한 데이터의 우선순위를 다른 데이터의 우선순위보다 높여서 긴급하게 전달 =>tcp[13]==32

profile
공부일지,

0개의 댓글