Dork's port

16진수로 값 출력 및 mac address 출력하기 (C++) 본문

Develop

16진수로 값 출력 및 mac address 출력하기 (C++)

Dork94 2017. 9. 22. 16:16

패킷을 디버깅 또는 내용을 알기 위해서 16진수로 값을 출력 하거나, mac address를 출력해야하는 경우가 있는데

 아래의 소스코드를 통해 간단하게 출력할 수 있습니다.  또한, 메모리에 있는 값을 출력할때에도 사용 할 수있고, 메모리에 저장되어 있는 값을 디버깅 할때에도 사용할 수 있습니다.

 

#include <iostream>
#include <iomanip>

using namespace std;

void printLine()
{
    cout<<"-----------------------------------------------"<<endl;
}

void printByHexData(u_int8_t *printArr, int length)
{

    for(int i=0;i<length;i++)
    {
        if(i%16==0)
            cout<<endl;
        cout<<setfill('0');
        cout<<setw(2)<<hex<<(int)printArr[i]<<" ";

    }

    cout<<dec<<endl;
    printLine();
}

void printByMAC(u_int8_t *printArr,int length)
{
    for(int i=0;i<length;i++)
    {
        cout<<setfill('0');
        cout<<setw(2)<<hex<<(int)printArr[i];
        if(i!=5)
            cout<<":";

    }

    cout<<dec<<endl<<endl;
}

Comments