netinet/ip_var.h를 찾을 수 없다고 나오는데요^^

후끈남의 이미지

아흑^^

libpcap을 설치했는데요

저건 왜 없다고 나오져?? ^^;;

네이버에는 소스만 나오고 설명이 안나오고요^^;;

요기 kldp는 제 검색 능력이 딸려서 그런지^^ 아무것도 안나오고요 ㅠㅠ

구글도 검색이 별로 안되요^^

해결 방법 아시는분 좀 알려주세요^^

지금 www.joinc.co.kr도 디져보고 있는데 워나게 정보가 많아서 언제 찾을지 걱정만 되네요^^

wariua의 이미지

http://rpm.pbone.net/ 같은 곳에서 어떤 RPM에 속한 파일인지를 알 수 있습니다... 만, 웬 traceroute-debuginfo 패키지...-_-a 원하시는 건 아니겠군요.

libpcap을 설치하고서(RPM으로? 소스로?) 뭘 하셨길래(tcpdump 컴파일?) ip_var.h가 없다는 메시지를 보신 건지 얘기해 주시면 좋을 것 같습니다. 몇몇 소스를 둘러보니 ip_var.h는 리눅스에선 기본적으로 쓰이지 않는 헤더 파일인 듯 합니다.

$PWD `date`

후끈남의 이미지

libpcap]# gcc -o completePcap completePcap.c -lpcap
completePcap.c:17:53: netinet/ip_var.h: 그런 파일이나 디렉토리가 없음

소스는^^

#include <stdio.h>
#include <pcap.h>
#include <sys/socket.h>

#include <netinet/in_systm.h>

#include <netinet/in.h>

#include <netinet/ip.h>

#include <netinet/ip_var.h>

#include <netinet/tcp.h>

#include <net/if.h>

#include <netinet/if_ether.h>

#include <arpa/inet.h>

// filtering rule

#define FILTER_RULE "host 168.131.161.1"

#define PCAP_SNAPSHOT 1024

#define PCAP_TIMEOUT 100

void packet_view(unsigned char *, const struct pcap_pkthdr *, const unsigned char *);

int main(int argc, char *argv[]) {

char *dev;

char errbuf[PCAP_ERRBUF_SIZE];

bpf_u_int32 net;

bpf_u_int32 netmask;

struct in_addr net_addr, mask_addr;

pcap_t *pd;

struct bpf_program fcode;

if(!(dev = pcap_lookupdev(errbuf))) {

perror(errbuf);

exit(1);

}

if(pcap_lookupnet(dev, &net, &netmask, errbuf) < 0) {

perror(errbuf);

exit(1);

}

net_addr.s_addr = net;

mask_addr.s_addr = netmask;

printf("Device : %s\n", dev);

printf("Net Address : %s\n", inet_ntoa(net_addr));

printf("Netmask : %s\n", inet_ntoa(mask_addr));

if((pd = pcap_open_live(dev, PCAP_SNAPSHOT, 1, PCAP_TIMEOUT, errbuf)) == NULL) {

perror(errbuf);

exit(1);

}

if(pcap_compile(pd, &fcode, FILTER_RULE, 0, netmask) < 0) {

perror(pcap_geterr(pd));

exit(1);

}

// set filtering rule

if(pcap_setfilter(pd, &fcode) < 0) {

perror(pcap_geterr(pd));

exit(1);

}

// read packet forever

if(pcap_loop(pd, -1, packet_view, 0) < 0) {

perror(pcap_geterr(pd));

exit(1);

}

pcap_close(pd);

return 1;

}

/*

* packet_view

* print packets

*/

void packet_view(unsigned char *user, const struct pcap_pkthdr *h, const unsigned char *p) {

struct ip *iph;

struct ether_header *etherh;

unsigned short e_type;

// p가 ip header를 가리키도록 ethernet header의 크기만큼 증가 시킴

etherh = (struct ether_header *)p;

e_type = ntohs(etherh->ether_type);

if( e_type == ETHERTYPE_IP ) {

printf("ip \n");

p += sizeof(struct ether_header);

iph = (struct ip *) p;

// ip header의 정보를 출력

printf("SRC = %s\n", inet_ntoa(iph->ip_src));

printf("DST = %s\n", inet_ntoa(iph->ip_dst));

printf("IP Version = %d\n", iph->ip_v);

}else if( e_type == ETHERTYPE_ARP ) {

printf("arp \n");

}else if( e_type == ETHERTYPE_REVARP ) {

printf("rarp \n");

}else {

printf("no such type -> type : %d\n", e_type);
}
}

경험으로 진리를 쌓아라!!

후끈남의 이미지

libpcap을 소스 설치 했구요^^

저건 간단한 패킷 분석하는 소스인듯^^

지금 공부하는 중이라서 정확히는 이정도 밖에 말씀 못드리겠네요^^

경험으로 진리를 쌓아라!!

wariua의 이미지

소스를 다른 플랫폼에서도 컴파일 하셔야 하는 게 아니라면 ip_var.h에 대한 include를 그냥 주석 처리 해주시면 됩니다:)

$PWD `date`

후끈남의 이미지

ㅎㅎ 주석 처리하면 되는군요^^

경험으로 진리를 쌓아라!!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.