본문으로 바로가기

고퍼

현재위치 :: HOME BLOG CATEGORY SEARCH ARCHIVE TAGS MEDIA LOCATION GUESTBOOK

네비게이션

  • 홈
  • 태그
  • 미디어로그
  • 방명록
관리자
  • 블로그 이미지
    G0pher

    Information Security

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

Packet sniffer develop #pcap_loop

패킷 캡쳐 디스크립터까지 받아내었다면, 실제로 패킷을 받아보는 코딩을 해보자 pcap_loop 1int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user);cs 위 함수를 통해서 패킷을 받아들일 수 있다. 인자를 살펴보면 p를 통해 PCD(Packet Capture Descriptor)를 넘겨주는것을 알 수 있다. cnt 변수를 통해서 캡쳐할 패킷 수를 지정해주고, 패킷을 받을 때 호출할 callback 함수를 지정해준다. user는 패킷 데이터 포인터라고 한다(아직 어떤 변수인지 정확히 모르겠다) pcap_handler 1typedef void (*pcap_handler)(u_char *user, const struct pcap_pkt..

카테고리 없음 2018. 4. 15. 16:41

Packet sniffer develop #pcap_open_live

패킷 캡쳐할 디바이스 설정이 모두 완료되었다면, 본격적으로 패킷 캡쳐를 하기 위한 디스크립터를 받아와야 한다. 그 역할을 하는 함수가 바로 pcap_open_live 함수이다. pcap_open_live 1pcap_t *pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char *errbuf);cs 위의 함수를 통해 pcap_t 구조체의 포인터로 Packet capture descriptor(PCD)을 반환한다. 인자를 하나씩 확인해보면 device를 통해 어떤 디스크립터를 가져와야할지 판단하며, snaplen을 통해 받아들이는 최대 패킷 길이를 설정해줄 수 있으며, promisc를 통해 promiscuous 모드를 설정한다...

카테고리 없음 2018. 4. 15. 15:50

Packet sniffer develop #pcap_freealldevs

전 포스팅에서 pcap_findalldevs를 통해서 네트워크 인터페이스 목록을 불러왔다. 그러나 이 함수를 사용할 경우 동적으로 메모리가 할당되기 때문에 사용이 끝난 후에는 메모리를 풀어주어야 한다. pcap_freealldevs 1void pcap_freealldevs(pcap_if_t *alldevsp);cs findalldevs 함수를 사용함으로써 동적으로 할당한 메모리를 풀어주는 함수이다. Example 소스코드 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071#include#include#include in..

카테고리 없음 2018. 4. 15. 14:31

Packet sniffer develop #pcap_findalldevs

지난 포스팅중 언급했던 디바이스 설정방법 두가지중 pcap_lookupdev 를 이용한 디폴트 설정법만 제대로 해보았다. 이번에는 조금 더 사용자에게 선택의 기회를 주어 pcap_findalldevs 함수를 이용하여 선택할 수 있는 프로그램을 만들어보자 pcap_findalldevs 1int pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf);cs 네트워크 디바이스의 목록을 알려주는 함수이다. alldevsp라는 구조체 포인터를 통해 목록과 특성을 알려준다. 성공시 0을, 실패시 -1을 반환하고, errbuf변수를 채운다. Example 소스코드 12345678910111213141516171819202122232425262728293031323334353637..

카테고리 없음 2018. 4. 15. 13:46

Packet sniffer develop #pcap_lookupnet

저번 포스팅에선 디바이스를 선택하는 두가지 방법을 알아보았다이번 포스팅에선 자신의 네트워크 정보를 확인하는 프로그램을 만들어보자 pcap_lookupnet 1int pcap_lookupnet(char *device, bpf_u_int32 *netp, bpf_u_int32 *maskp, char *errbuf)cs 네트워크 디바이스에 대한 네트워크 및 마스크 번호를 되돌려준다. 네트워크 번호는 netp 변수에, mask 번호는 maskp 변수에 저장된다. device는 lookupdev 함수를 통해서 얻어온 장치를 전달해주기 위한 변수이다. 성공시 0을, 에러시 -1을 리턴하고 errbuf를 채운다. Example 프로그래밍을 하기전에 소켓 프로그래밍에 대한 베이스 지식이 부족하다면 코드를 이해하기 힘들수..

카테고리 없음 2018. 4. 13. 22:06

드라이브 바이 다운로드(Drive-by download) 공격

최근 발생하는 많은 해킹 사건들 속에서 쉽게 발견할 수 있는단어.드라이브 바이 다운로드에 대해 알아보자 드라이브 바이(Drive-by)란? 외국 영화에 자주 등장하는 갱스터의 특정 행동을 말한다. 정확히 말하면 차를 타고 달리면서 총을 쏘는 행동이며, 원래는 Drive by shooting 이라고 불리지만 너무 길었는지 Drive-by라고 부른다고 한다. 자동차의 기동성과 총의 살상력을 합하여 불특정 다수에게 난사하는 기술이다. 본래 미국 갱스터가 개발한 기술이지만 세계대전에서 전술로 사용되기도 하였다고 한다. 드라이브 바이 다운로드(Drive-by download)란? 드라이브 바이라는 무시무시한 이름에 걸맞게 악성코드를 불특정 다수에게 난사할 수 있는 공격기법이다. 정확히 말하면 두개로 나누어볼 수 ..

ETC/knowledge 2018. 4. 13. 10:49

갠드크랩(GandCrab) 랜섬웨어

최근 갠드크랩에 대한 소식을 들으며 마치 좀비같다는 생각을 했다. 갠드크랩(GandCrab) 이란? 갠드크랩은 랜섬웨어의 한 종류로서, 암호화된 파일 확장자가 GDCB이며 토르코인을 요구하는 것이 특징이다. 갠드크랩의 등장은 비트디펜더라는 보안 소프트웨어 기업의 활약으로 숨이 죽었지만 지난 3월달에 2.0버전으로 다시 찾아왔으며, 최근 2.1버전으로 업그레이드 버전으로 또다시 찾아왔다고 한다. 2.0 무엇이 바뀌었을까? 2.0 버전의 가장 큰 변화는 암호화된 파일 확장자가 CRAB으로 바뀌었다는 점이다. 코드에 대한 자신감의 영향이었을 까? 이전보다 갠드크랩 랜섬웨어인 것을 인지하기가 쉽고, 그만큼 이름과 매치가 잘된다. 확장자 뿐만 아니라 암호화 알고리즘의 수정과, 악성코드 관리 서버가 변경된 점 등이..

ETC/knowledge 2018. 4. 13. 10:11

Packet sniffer develop #pcap_lookupdev

첫번째 알고리즘인 인터페이스를 선택하는 프로그램을 개발해보자 스니퍼가 동작할 장치를 설정하는 방법은 두가지가 있다.하나는 사용자가 직접 장치를 선택하는 방법이 있고, 나머지는 디폴트 디바이스를 알아서 선택하는 방법이다. 사용자가 장치를 직접 설정하는 방법 소스코드 12345678910#include #include int main(int argc, char *argv[]){ char *dev = argv[1]; printf("Device: %s\n", dev); return(0);}Colored by Color Scriptercs 실행 12345root@g0pher-virtual-machine:/home/g0pher/sniff_tcpdump# ./test1Device : (null)root@g0pher-..

카테고리 없음 2018. 4. 12. 16:11
  • 이전
  • 1
  • ···
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • ···
  • 49
  • 다음

사이드바

NOTICE

  • 전체 보기
MORE+

CATEGORY

  • 전체보기 (364)
    • Programing (102)
      • C (38)
      • Batch Script (3)
      • Python (25)
      • Java (9)
      • Android (0)
      • HTML (12)
      • php (5)
      • Javascript (7)
      • Scratch (3)
    • Study (110)
      • web (11)
      • network (20)
      • reversing (31)
      • system (39)
      • crypto (9)
      • AI (0)
    • Wargame (85)
      • webhacking.kr (25)
      • wargame.kr (0)
      • LOS(eagle-jump) (21)
      • LOS(rubiya) (32)
      • reversing.kr (0)
      • etc (7)
    • CTF (0)
    • ETC (53)
      • knowledge (37)
      • status (16)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

TAG

  • 리버싱
  • Los
  • 시스템
  • 웹
  • web
  • 웹 해킹
  • HTML
  • webhacking.kr
  • 네트워크
  • injection
  • 파이썬
  • SQL
  • writeup
  • 어셈블리어
  • Python
MORE+

ARCHIVE

CALENDAR

«   2025/09   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

LINK

  • ♡
  • DESIGN 아띠 그래픽
  • 이종찬
  • 박상현
  • 이창현
  • 송인봉
  • 신동철
  • 박준형
  • 유현진
  • 박형찬
  • 박형찬
  • 이우진
  • 조학근
  • 박홍주

VISITOR

오늘
어제
전체
  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT 고퍼, ALL RIGHT RESERVED.
고퍼
블로그 이미지 G0pher 님의 블로그
MENU
  • 홈
  • 태그
  • 미디어로그
  • 방명록
CATEGORY
  • 전체보기 (364)
    • Programing (102)
      • C (38)
      • Batch Script (3)
      • Python (25)
      • Java (9)
      • Android (0)
      • HTML (12)
      • php (5)
      • Javascript (7)
      • Scratch (3)
    • Study (110)
      • web (11)
      • network (20)
      • reversing (31)
      • system (39)
      • crypto (9)
      • AI (0)
    • Wargame (85)
      • webhacking.kr (25)
      • wargame.kr (0)
      • LOS(eagle-jump) (21)
      • LOS(rubiya) (32)
      • reversing.kr (0)
      • etc (7)
    • CTF (0)
    • ETC (53)
      • knowledge (37)
      • status (16)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바