'분류 전체보기'에 해당되는 글 695건

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/***************
*    Author : 5kyc1ad
*    2016.03.19 : 22:42
****************/
 
#include <tins/tins.h>
#include <thread>
#include <unistd.h>
#include <stdio.h>
#include <iostream>
#include <map>
#include <string>
#include <time.h>
 
using namespace std;
using namespace Tins;
 
void ARPsniffing(char *);
void sendARP(char *);
 
int main(int argc, char *argv[])
{
    if(argc!=2) {
        cout << "[*] Usage : " << argv[0<< " [MY_IP]" << endl;
        return 1;
    }
    thread sniffThread(ARPsniffing, argv[1]);
    sleep(1);
    thread sendingARPThread(sendARP,argv[1]);
 
    sendingARPThread.join();
    sniffThread.join();
    return 0;
}
 
void ARPsniffing(char *my_ip){
    map<IPv4Address, HWAddress<6>> mac_list;
    int TIMEOUT = 15;
    char config[256= {0,};
    Sniffer sniff("wlan0");
    sprintf(config, "arp dest %s", my_ip);
    cout << "[*] Configure : Filtering=" << config << ", TIMEOUT="<< TIMEOUT << endl;
    sniff.set_filter(config);
    int cur = time(NULL);
    while(time(NULL< cur + TIMEOUT) {  // timout - 15 seconds
        Packet p = sniff.next_packet();
        if(p.pdu()->find_pdu<ARP>() && p.pdu()->rfind_pdu<ARP>().opcode() == 2) {
            mac_list.insert(pair<IPv4Address, HWAddress<6>>(p.pdu()->rfind_pdu<ARP>().sender_ip_addr(), p.pdu()->rfind_pdu<ARP>().sender_hw_addr()));
        }
    }
    clog << "[*][*] Saved ip-mac Table [*][*]" << endl;
    for(map<IPv4Address, HWAddress<6>>::iterator i=mac_list.begin(); i != mac_list.end() ; i++) {
        clog << i->first << " : " << i->second << endl;
    }
}
 
void sendARP(char *my_ip){
    char tmp[30= {0,};
    int ip1, ip2, ip3, ip4;
    PacketSender sender;
 
    sscanf(my_ip, "%d.%d.%d.%d", &ip1, &ip2, &ip3, &ip4);
    ip4 = 0;
 
    for(int i=0; i<=255; i++){
        sprintf(tmp, "%d.%d.%d.%d", ip1, ip2, ip3, ip4++);
        IPv4Address to_resolve(tmp);
        NetworkInterface iface(to_resolve);
        auto info = iface.addresses();
        EthernetII eth = ARP::make_arp_request(to_resolve, info.ip_addr, info.hw_addr);
        sender.send(eth, iface);
        usleep(10000);
        clog << "[*] ARP Request to " << tmp << endl;
    }
}
 
cs


'Network Security' 카테고리의 다른 글

Kali를 이용한 WPA/WPA2 공격  (0) 2018.02.20
WPA, WPA2 공부  (0) 2018.02.19
[ARP Spoofing] 1-2. Find victims (updated)  (0) 2016.03.20
블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

,

2016-03-18

2016. 3. 19. 01:11

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

pthread따위 으으

잡담 2016. 3. 18. 15:37

C++에서 쓰레드를 써본 경험이 QThread밖에 없다 보니까

Qt 프로젝트가 아닌 일반 C++ 프로그래밍 하면서 쓰레드를 사용하려고 하니

인터넷에서 돌아다니다가 대충 보이는게 pthread라 이걸 쓰고 있는데 인자 전달이나 리턴 등이 복잡하고 어려운데다

함수 기반으로 되어 있어서 쓰기가 너무 불편하다.


STL에 쓰레드 있다고 하던데 그거나 공부해서 써야겠다...으

블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

,

2016-03-17

2016. 3. 18. 11:07

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2016-03-16

2016. 3. 17. 10:22

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2016-03-15

2016. 3. 16. 10:36

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2016-03-14

2016. 3. 15. 14:07

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.



5kyc1ad라는 닉네임으로 참가하여 660점으로 17위에 올랐습니다.

총 30인 본선에 참가 가능하다고 했으니 별일 없는 이상 본선은 가겠네요.

중간고사랑 겹쳐버리는게 제일 큰 문제이긴 한데 일단 중간고사를 버리고 대회를 택하는 방침으로 갈 생각입니다.




'잡담' 카테고리의 다른 글

무슨 일이든 꾸준히 한다는건 대단하더라  (0) 2016.03.27
pthread따위 으으  (0) 2016.03.18
요즘 생활에 대한 고찰  (0) 2016.03.12
티스토리로 오고 느낀 점  (0) 2016.02.12
PinTool 과제  (0) 2015.11.21
블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

,

2016-03-13

2016. 3. 13. 21:11

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2016-03-12

2016. 3. 13. 21:08

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.