Would it work for you, if you replace both header includes under

  vim bpf.c +719

with:

  #include <pcap.h>

It seems that this is pretty screwed up. Either you include only

  #include <pcap.h>

as one can find in old code examples (but then it doesn't compile on
new distros), or you include:

  #include <pcap/pcap.h>
  #include <pcap/bpf.h>

and then it doesn't compile on older ones ...

On Mon, Jan 28, 2013 at 4:51 AM, Jon Schipp <[email protected]> wrote:
> Just tested.
> Latest clone without latest libpcap did not work.
> Latest clone with latest libpcap did work.
>
> On Sun, Jan 27, 2013 at 1:43 PM, Daniel Borkmann <[email protected]> 
> wrote:
>> On Sun, Jan 27, 2013 at 10:56 AM, Daniel Borkmann
>> <[email protected]> wrote:
>>> On Sun, Jan 27, 2013 at 10:30 AM, Markus Amend <[email protected]> 
>>> wrote:
>>>
>>>> latest version of libpcap works.
>>>
>>> Thanks for testing. On Monday, I'll try to find a solution how it can
>>> be made compatible with older versions, until then for these two days,
>>> a newer libpcap version must be enough. ;-)
>>
>> I've removed a define and included the <pcap/bpf.h> library, I think
>> this should resolve all build issues.
>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: [email protected] [mailto:[email protected]] Im
>>>> Auftrag von Daniel Borkmann
>>>> Gesendet: Samstag, 26. Januar 2013 20:02
>>>> An: [email protected]
>>>> Betreff: Re: [netsniff-ng] Bpfc questions
>>>>
>>>> On Sat, Jan 26, 2013 at 4:13 PM, Markus Amend <[email protected]>
>>>> wrote:
>>>>> First: >unrecognized command line option
>>>>> "-Wunused-but-set-parameter"<, I have to comment it out
>>>>> Second: I have the same issue with libpcap-dev 0.8 installod on Ubuntu
>>>>> 10.04
>>>>> 64bit:
>>>>>
>>>>> make netsniff-ng
>>>>> /home/markus/.bashrc: 13: shopt: not found
>>>>> /home/markus/.bashrc: 21: shopt: not found
>>>>> /home/markus/.bashrc: 99: shopt: not found
>>>>> /etc/bash_completion: 33: [[: not found
>>>>> /etc/bash_completion: 39: [[: not found
>>>>> /etc/bash_completion: 52: Bad substitution NACL_LIB_DIR/NACL_INC_DIR
>>>>> is undefined, building libnacl with curvetun!
>>>>> Building netsniff-ng:
>>>>> -e   CC hash.c
>>>>> -e   CC dissector.c
>>>>> -e   CC dissector_eth.c
>>>>> -e   CC dissector_80211.c
>>>>> -e   CC proto_arp.c
>>>>> -e   CC proto_ethernet.c
>>>>> -e   CC proto_icmpv4.c
>>>>> -e   CC proto_icmpv6.c
>>>>> -e   CC proto_igmp.c
>>>>> -e   CC proto_ip_authentication_hdr.c
>>>>> -e   CC proto_ip_esp.c
>>>>> -e   CC proto_ipv4.c
>>>>> -e   CC proto_ipv6.c
>>>>> -e   CC proto_ipv6_dest_opts.c
>>>>> -e   CC proto_ipv6_fragm.c
>>>>> -e   CC proto_ipv6_hop_by_hop.c
>>>>> -e   CC proto_ipv6_in_ipv4.c
>>>>> -e   CC proto_ipv6_mobility_hdr.c
>>>>> -e   CC proto_ipv6_no_nxt_hdr.c
>>>>> -e   CC proto_ipv6_routing.c
>>>>> -e   CC proto_none.c
>>>>> -e   CC proto_tcp.c
>>>>> -e   CC proto_udp.c
>>>>> -e   CC proto_vlan.c
>>>>> -e   CC proto_vlan_q_in_q.c
>>>>> -e   CC proto_mpls_unicast.c
>>>>> -e   CC proto_80211_mac_hdr.c
>>>>> -e   CC xio.c
>>>>> -e   CC xutils.c
>>>>> -e   CC xmalloc.c
>>>>> -e   CC bpf.c
>>>>> bpf.c: In function ‘bpf_parse_rules’:
>>>>> bpf.c:780: error: storage size of ‘bpfp’ isn’t known
>>>>> bpf.c:788: error: ‘PCAP_NETMASK_UNKNOWN’ undeclared (first use in this
>>>>> function)
>>>>> bpf.c:788: error: (Each undeclared identifier is reported only once
>>>>> bpf.c:788: error: for each function it appears in.)
>>>>> bpf.c:780: warning: unused variable ‘bpfp’
>>>>> make: *** [netsniff-ng/bpf.o] Error 1
>>>>
>>>> Would it work, if you download and install the latest pcap?
>>>>
>>>>   https://github.com/mcr/libpcap
>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: [email protected]
>>>>> [mailto:[email protected]] Im Auftrag von Daniel Borkmann
>>>>> Gesendet: Samstag, 26. Januar 2013 11:10
>>>>> An: [email protected]
>>>>> Betreff: Re: [netsniff-ng] Bpfc questions
>>>>>
>>>>> On Sat, Jan 26, 2013 at 1:35 AM, Jon Schipp <[email protected]> wrote:
>>>>>> Grabbed the latest:
>>>>>>
>>>>>> Building netsniff-ng toolkit (0.5.8-rc0) for x86_64-linux-gnu:
>>>>>> Building netsniff-ng:
>>>>>> -e   CC bpf.c
>>>>>> bpf.c: In function ‘bpf_parse_rules’:
>>>>>> bpf.c:780:21: error: storage size of ‘bpfp’ isn’t known
>>>>>> bpf.c:780:21: warning: unused variable ‘bpfp’ [-Wunused-variable]
>>>>>> make: *** [netsniff-ng/bpf.o] Error 1
>>>>>
>>>>> Hmm, compilation works fine for me on Fedora.  Do you have
>>>>> libpcap-dev/devel installed? It's used (only) to generate a
>>>>> tcpdump-like BPF filter. Do you have this file?
>>>>>
>>>>>   * /usr/include/pcap/pcap.h
>>>>>
>>>>> Would it work if you change the include in bpf.c to <pcap.h> only?
>>>>>
>>>>> Let me know.
>>>>>
>>>>>> On Fri, Jan 25, 2013 at 9:53 AM, Daniel Borkmann
>>>>>> <[email protected]>
>>>>> wrote:
>>>>>>> On Fri, Jan 25, 2013 at 4:27 AM, Jon Schipp <[email protected]> wrote:
>>>>>>>
>>>>>>>> I'm confused about the the terminology here too.  I imagine that
>>>>>>>> "-L|--lla               Compile low-level BPF"  means compile to
>>>>>>>> low-level BPF rather than _output_ a low-level filter. I think it's
>>>>>>>> just the ambiguous wording because mnemonics like ld, jeq look
>>>>>>>> higher level than 0x20, 0x28.
>>>>>>>
>>>>>>> Right, I've just removed that in upstream.
>>>>>>>
>>>>>>> Also, for a better user experience, I've decided to add support for
>>>>>>> tcpdump-like filtering syntax.
>>>>>>>
>>>>>>> For netsniff-ng this means, e.g.:
>>>>>>>
>>>>>>>  - netsniff-ng -i eth0 udp or tcp
>>>>>>>  - netsniff-ng -i eth0 -f "udp or tcp" -V -o out.pcap --silent
>>>>>>>  - netsniff-ng -i eth0 -f filter.bpfo -V -o out.pcap --silent
>>>>>>>
>>>>>>> Where ``cat filter.bpfo'' contains sth. like these opcodes ...
>>>>>>>
>>>>>>> { 0x20, 0, 0, 0x00000008 },
>>>>>>> { 0x15, 0, 3, 0xccddeeff },
>>>>>>> { 0x28, 0, 0, 0x00000006 },
>>>>>>> { 0x15, 0, 1, 0x0000aabb },
>>>>>>> { 0x6, 0, 0, 0xffffffff },
>>>>>>> { 0x6, 0, 0, 0x00000000 },
>>>>>>>
>>>>>>> .... that were produced by bpfc. This means, now you have the full
>>>>>>> program. ;-) For low-level debugging or advanced filtering (i.e.
>>>>>>> Linux socket filter extensions), you can use bpfc, compile it into a
>>>>>>> file, pass it to netsniff-ng, for high-level filtering everyone
>>>>>>> knows tcpdump-like syntax, so you can pass this as well via -f.
>>>>>>> Internally, it's checked if the parameter you've passed is a file or
>>>> not.
>>>>>>
>>>>>> --
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>
>>>> --
>>>>
>>>>
>>>>
>>
>> --
>>
>>
>
> --
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"netsniff-ng" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to