#include <stdio.h>
#include <pcap/pcap.h>
void Hex_view(void const *,unsigned int);
int main()
{
char * cpNICname;
char caErrMsg[PCAP_ERRBUF_SIZE];
pcap_t * stpDS;
const unsigned char * ucpData;
struct pcap_pkthdr stInfo;
cpNICname=pcap_lookupdev(caErrMsg);
if(0==cpNICname)
{
printf("ErrMsg : [%s]\n",caErrMsg);
return -99;
}
printf("NICName : [%s]\n",cpNICname);
printf("ErrMsg : [%s]\n",caErrMsg);
stpDS=pcap_open_live(cpNICname,1500,1,0,caErrMsg);
ucpData=pcap_next(stpDS,&stInfo);
Hex_view(ucpData,(16*20));
pcap_close(stpDS);
return 0;
}
void Hex_view(void const * vP,unsigned int uiLen)
{
unsigned int uiCnt;
unsigned int uiLine;
printf("============================================================================\n");
printf(" Address Hex ASCII\n");
printf("----------------------------------------------------------------------------\n");
for (uiLine = 0; uiLen > uiLine;uiLine=uiLine+16)
{
printf(" %08X ", vP);
for (uiCnt = 0; uiCnt < 16; ++uiCnt)
{
printf("%02X ", *((unsigned char*)vP));
vP = (char*)vP + 1;
}
vP = (char*)vP - 16;
for (uiCnt = 0; uiCnt < 16; ++uiCnt)
{
if (32 > *((unsigned char*)vP))
{
putchar('.');
}
else if (127 < *((unsigned char*)vP))
{
putchar('.');
}
else
{
printf("%c", *((unsigned char*)vP));
}
vP = (char*)vP + 1;
}
putchar('\n');
}
return;
}
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
20150522 - 14번 - 박제혁 - IP 프로토콜 (1) | 2015.05.24 |
---|---|
20150522 packet analyzer 소스코드 (1) | 2015.05.22 |
20150221 업무일지 - 16번 박태인 - 서보모터,Timer/Counter & network protocol, MAC Address (4) | 2015.05.22 |
20150520_일일업무일지_14번_박서연 - 카운터/타이머, pcap, 도서관리프로그램 (5) | 2015.05.20 |
연결리스트 소스 (0) | 2015.05.19 |
연결리스트 코드(재업) (0) | 2015.05.19 |
20150515 - 11번 - 남수진 - CTC 모드 타이머/ 도서관리프로그램 (8) | 2015.05.16 |
2015-05-13 업무일지 연결리스트 (6) | 2015.05.13 |