kismetwireless / kismet

Github mirror of official Kismet repository
Other
1.57k stars 306 forks source link

Honor hak5 wifi coconut being disabled by default #477

Closed sarcasticadmin closed 1 year ago

sarcasticadmin commented 1 year ago

Description

Previously the wifi coconut config was enabled by default when the flag(--enable-wifi-coconut) leads one to believe that it should be disabled by default. This PR ensures the default behavior: disabled is honored and inline with other options like bladerf: https://github.com/kismetwireless/kismet/blob/485bea1674f2b32b76114eb5def92cfa1c67b3f8/configure#L14152-L14163

master(485bea1674f2b32b76114eb5def92cfa1c67b3f8) coconut is always enabled:

configuring
configure flags: --prefix=/nix/store/833n4rq073xpn48i35zcn21ww27a9lxb-kismet-2023-08-07_unstable --disable-libnm --disable-lmsensors
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking for a BSD-compatible install... /nix/store/f11ibsj5vmqcy8ihfa8mzvpfs4af7cw5-coreutils-9.1/bin/install -c
checking whether make sets $(MAKE)... yes
checking how to run the C preprocessor... gcc -E
checking for platform-specific compiler flags... none needed
checking gcc version... 12.2.0
checking whether g++ supports C++20 features by default... no
checking whether g++ supports C++20 features with -std=gnu++20... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking python3 module: setuptools... yes
checking for dwarf_begin in -ldw... yes
checking for bfd_alloc in -lbfd... no
checking for elfutils/libdw.h... yes
checking for elfutils/libdwfl.h... yes
checking for dwarf.h... yes
checking for unwind.h... yes
checking for execinfo.h... yes
checking for stdint.h... (cached) yes
checking for strerror_r() return... char *
checking for accept() addrlen type... socklen_t
checking for pipe2... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for dlopen in -ldl... yes
checking for deflate in -lz... yes
checking for libatomic... yes
checking for pthread_mutex_timedlock... yes
checking for libm math function in std libs... yes
checking for main in -lstdc++... yes
checking for group 'root'... yes
checking for setproctitle... no
checking for libutil.h... no
checking for setproctitle in -lutil... no
checking for sys/pstat.h... no
checking how to run the C++ preprocessor... g++ -std=gnu++20 -E
checking for grep that handles long lines and -e... /nix/store/rn5b13lbsslbvmmbqnqxdcagzqp4435w-gnugrep-3.7/bin/grep
checking for egrep... /nix/store/rn5b13lbsslbvmmbqnqxdcagzqp4435w-gnugrep-3.7/bin/grep -E
checking whether __progname and __progname_full are available... yes
checking which argv replacement method to use... writeable
checking for linux/wireless.h... yes
checking that linux/wireless.h is what we expect... yes
checking can we use iw_freq.flags... yes
checking for cap_init in -lcap... yes
checking for sys/prctl.h... yes
checking for sys/capability.h... yes
checking for pcre_compile in -lpcre... yes
checking for pcre.h... yes
checking for sqlite3_libversion in -lsqlite3... yes
checking for sqlite3.h... yes
checking for pkg-config... pkg-config
checking whether compiling and linking against OpenSSL works... yes
checking pkg-config is at least version 0.9.0... yes
checking for libwebsockets >= 3.1.0... yes
checking for lws_client_connect_via_info in -lwebsockets... yes
checking for libpcap... yes
checking for protobuf... yes
checking for protoc... yes
checking for libprotobuf-c... yes
checking for protoc-c... yes
Using local radiotap headers
checking for libnl-3.0... yes
checking for libnl-genl-3.0... yes
checking for libnl-2.0... no
checking for libnl-1... no
checking For mac80211 support in netlink library... yes
checking for libusb-1.0... yes
checking for btbb.h... no
configure: WARNING: "btbb.h is missing"
checking for btbb_init in -lbtbb... no
configure: WARNING: "libbtbb is missing"
configure: WARNING: missing libbtbb, ubertooth-one support will not be built
configure: WARNING: missing one or more required libraries for ubertooth-one
configure: creating ./config.status
config.status: creating Makefile
config.status: creating Makefile.inc
config.status: WARNING:  'Makefile.inc.in' seems to ignore the --datarootdir setting
config.status: creating packaging/kismet.pc
config.status: creating packaging/systemd/kismet.service
config.status: creating packaging/systemd/debug/kismet-debug.service
config.status: creating capture_linux_bluetooth/Makefile
config.status: creating capture_linux_wifi/Makefile
config.status: creating capture_osx_corewlan_wifi/Makefile
config.status: creating capture_sdr_rtl433/Makefile
config.status: creating capture_sdr_rtlamr/Makefile
config.status: creating capture_sdr_rtladsb/Makefile
config.status: creating capture_bt_geiger/Makefile
config.status: creating capture_freaklabs_zigbee/Makefile
config.status: creating capture_nrf_mousejack/Makefile
config.status: creating capture_ti_cc_2540/Makefile
config.status: creating capture_ti_cc_2531/Makefile
config.status: creating capture_ubertooth_one/Makefile
config.status: creating capture_nrf_51822/Makefile
config.status: creating capture_nxp_kw41z/Makefile
config.status: creating capture_rz_killerbee/Makefile
config.status: creating capture_bladerf_wiphy/Makefile
config.status: creating capture_proxy_adsb/Makefile
config.status: creating capture_nrf_52840/Makefile
config.status: creating capture_hak5_wifi_coconut/Makefile
config.status: creating config.h
Configuration complete:
         Compiling for: linux-gnu (x86_64)
           C++ Library: stdc++
      Protobuf Library: protobuf
   Installing as group: root
       Installing into: /nix/store/833n4rq073xpn48i35zcn21ww27a9lxb-kismet-2023-08-07_unstable
          Setuid group: kismet
        Prelude  SIEM : no
            PCRE regex: libpcre1
 Websocket datasources: yes
LibCapability (enhanced
   privilege dropping): yes
  Linux Wi-Fi capture : yes
         Linux Netlink: yes (mac80211 VAP creation) - libnl-3.0 libnl-genl-3.0
  Linux NetworkManager: no (will not be able to control NetworkManager, libnm disabled)
   Linux HCI Bluetooth: yes
   OSX/Darwin capture : n/a (only OSX/Darwin)
         nRF MouseJack: yes
       TI CC 2540 BTLE: yes
     TI CC 2531 Zigbee: yes
         Ubertooth One: no (libubertooth, libbtbb, or libusb-1.0 not available)
         NRF51822 BTLE: yes
       NRF52840 Zigbee: yes
  NXP KW41Z BLE/Zigbee: yes
          RZ KILLERBEE: yes
        Python Modules: yes
    Python interpreter: python3
       RTL-SDR RTL_433: yes
        RTL-SDR RTLAMR: yes
       RTL-SDR RTLADSB: yes
    BTLE Geiger Sensor: no (not explicitly enabled)
      Freaklabs Zigbee: yes
            ADSB Proxy: yes
         bladeRF-wiphy: no (bladeRF support not enabled)
     Hak5 WiFi Coconut: yes
 lm-sensors monitoring: no (will not be able to monitor system temperature, etc)
        Built-in Debug: yes - Full debug info available on crash, using unwind
*** WARNING ***
libnm (the NetworkManager control library) was not found (or it was disabled).
Kismet uses libnm to prevent NetworkManager from reconfiguring monitor mode
interfaces while Kismet is running; without this library you will need to manually
disable NetworkManager or manually tell it to ignore specific interaces.

New Behavior

Now coconut is disabled by default: Hak5 WiFi Coconut: no:

configuring
configure flags: --prefix=/nix/store/k8pimajk4lsz8dnlxk0cnkpwa74hgbhl-kismet-2023-08-08_unstable --disable-libnm --disable-lmsensors
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking for a BSD-compatible install... /nix/store/f11ibsj5vmqcy8ihfa8mzvpfs4af7cw5-coreutils-9.1/bin/install -c
checking whether make sets $(MAKE)... yes
checking how to run the C preprocessor... gcc -E
checking for platform-specific compiler flags... none needed
checking gcc version... 12.2.0
checking whether g++ supports C++20 features by default... no
checking whether g++ supports C++20 features with -std=gnu++20... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking python3 module: setuptools... yes
checking for dwarf_begin in -ldw... yes
checking for bfd_alloc in -lbfd... no
checking for elfutils/libdw.h... yes
checking for elfutils/libdwfl.h... yes
checking for dwarf.h... yes
checking for unwind.h... yes
checking for execinfo.h... yes
checking for stdint.h... (cached) yes
checking for strerror_r() return... char *
checking for accept() addrlen type... socklen_t
checking for pipe2... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for dlopen in -ldl... yes
checking for deflate in -lz... yes
checking for libatomic... yes
checking for pthread_mutex_timedlock... yes
checking for libm math function in std libs... yes
checking for main in -lstdc++... yes
checking for group 'root'... yes
checking for setproctitle... no
checking for libutil.h... no
checking for setproctitle in -lutil... no
checking for sys/pstat.h... no
checking how to run the C++ preprocessor... g++ -std=gnu++20 -E
checking for grep that handles long lines and -e... /nix/store/rn5b13lbsslbvmmbqnqxdcagzqp4435w-gnugrep-3.7/bin/grep
checking for egrep... /nix/store/rn5b13lbsslbvmmbqnqxdcagzqp4435w-gnugrep-3.7/bin/grep -E
checking whether __progname and __progname_full are available... yes
checking which argv replacement method to use... writeable
checking for linux/wireless.h... yes
checking that linux/wireless.h is what we expect... yes
checking can we use iw_freq.flags... yes
checking for cap_init in -lcap... yes
checking for sys/prctl.h... yes
checking for sys/capability.h... yes
checking for pcre_compile in -lpcre... yes
checking for pcre.h... yes
checking for sqlite3_libversion in -lsqlite3... yes
checking for sqlite3.h... yes
checking for pkg-config... pkg-config
checking whether compiling and linking against OpenSSL works... yes
checking pkg-config is at least version 0.9.0... yes
checking for libwebsockets >= 3.1.0... yes
checking for lws_client_connect_via_info in -lwebsockets... yes
checking for libpcap... yes
checking for protobuf... yes
checking for protoc... yes
checking for libprotobuf-c... yes
checking for protoc-c... yes
Using local radiotap headers
checking for libnl-3.0... yes
checking for libnl-genl-3.0... yes
checking for libnl-2.0... no
checking for libnl-1... no
checking For mac80211 support in netlink library... yes
checking for libusb-1.0... yes
checking for btbb.h... no
configure: WARNING: "btbb.h is missing"
checking for btbb_init in -lbtbb... no
configure: WARNING: "libbtbb is missing"
configure: WARNING: missing libbtbb, ubertooth-one support will not be built
configure: WARNING: missing one or more required libraries for ubertooth-one
configure: creating ./config.status
config.status: creating Makefile
config.status: creating Makefile.inc
config.status: WARNING:  'Makefile.inc.in' seems to ignore the --datarootdir setting
config.status: creating packaging/kismet.pc
config.status: creating packaging/systemd/kismet.service
config.status: creating packaging/systemd/debug/kismet-debug.service
config.status: creating capture_linux_bluetooth/Makefile
config.status: creating capture_linux_wifi/Makefile
config.status: creating capture_osx_corewlan_wifi/Makefile
config.status: creating capture_sdr_rtl433/Makefile
config.status: creating capture_sdr_rtlamr/Makefile
config.status: creating capture_sdr_rtladsb/Makefile
config.status: creating capture_bt_geiger/Makefile
config.status: creating capture_freaklabs_zigbee/Makefile
config.status: creating capture_nrf_mousejack/Makefile
config.status: creating capture_ti_cc_2540/Makefile
config.status: creating capture_ti_cc_2531/Makefile
config.status: creating capture_ubertooth_one/Makefile
config.status: creating capture_nrf_51822/Makefile
config.status: creating capture_nxp_kw41z/Makefile
config.status: creating capture_rz_killerbee/Makefile
config.status: creating capture_bladerf_wiphy/Makefile
config.status: creating capture_proxy_adsb/Makefile
config.status: creating capture_nrf_52840/Makefile
config.status: creating capture_hak5_wifi_coconut/Makefile
config.status: creating config.h
Configuration complete:
         Compiling for: linux-gnu (x86_64)
           C++ Library: stdc++
      Protobuf Library: protobuf
   Installing as group: root
       Installing into: /nix/store/k8pimajk4lsz8dnlxk0cnkpwa74hgbhl-kismet-2023-08-08_unstable
          Setuid group: kismet
        Prelude  SIEM : no
            PCRE regex: libpcre1
 Websocket datasources: yes
LibCapability (enhanced
   privilege dropping): yes
  Linux Wi-Fi capture : yes
         Linux Netlink: yes (mac80211 VAP creation) - libnl-3.0 libnl-genl-3.0
  Linux NetworkManager: no (will not be able to control NetworkManager, libnm disabled)
   Linux HCI Bluetooth: yes
   OSX/Darwin capture : n/a (only OSX/Darwin)
         nRF MouseJack: yes
       TI CC 2540 BTLE: yes
     TI CC 2531 Zigbee: yes
         Ubertooth One: no (libubertooth, libbtbb, or libusb-1.0 not available)
         NRF51822 BTLE: yes
       NRF52840 Zigbee: yes
  NXP KW41Z BLE/Zigbee: yes
          RZ KILLERBEE: yes
        Python Modules: yes
    Python interpreter: python3
       RTL-SDR RTL_433: yes
        RTL-SDR RTLAMR: yes
       RTL-SDR RTLADSB: yes
    BTLE Geiger Sensor: no (not explicitly enabled)
      Freaklabs Zigbee: yes
            ADSB Proxy: yes
         bladeRF-wiphy: no (bladeRF support not enabled)
     Hak5 WiFi Coconut: no (Hak5 WiFi Coconut support not enabled)
 lm-sensors monitoring: no (will not be able to monitor system temperature, etc)
        Built-in Debug: yes - Full debug info available on crash, using unwind
*** WARNING ***
libnm (the NetworkManager control library) was not found (or it was disabled).
Kismet uses libnm to prevent NetworkManager from reconfiguring monitor mode
interfaces while Kismet is running; without this library you will need to manually
disable NetworkManager or manually tell it to ignore specific interaces.

Flag works as intended to enable Hak5 WiFi Coconut: yes:

configuring
configure flags: --prefix=/nix/store/vm2a9h77pxbg2n3s09spzcanclqrpnid-kismet-2023-08-08_unstable --disable-libnm --disable-lmsensors --enable-wifi-coconut
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking for a BSD-compatible install... /nix/store/f11ibsj5vmqcy8ihfa8mzvpfs4af7cw5-coreutils-9.1/bin/install -c
checking whether make sets $(MAKE)... yes
checking how to run the C preprocessor... gcc -E
checking for platform-specific compiler flags... none needed
checking gcc version... 12.2.0
checking whether g++ supports C++20 features by default... no
checking whether g++ supports C++20 features with -std=gnu++20... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking python3 module: setuptools... yes
checking for dwarf_begin in -ldw... yes
checking for bfd_alloc in -lbfd... no
checking for elfutils/libdw.h... yes
checking for elfutils/libdwfl.h... yes
checking for dwarf.h... yes
checking for unwind.h... yes
checking for execinfo.h... yes
checking for stdint.h... (cached) yes
checking for strerror_r() return... char *
checking for accept() addrlen type... socklen_t
checking for pipe2... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for dlopen in -ldl... yes
checking for deflate in -lz... yes
checking for libatomic... yes
checking for pthread_mutex_timedlock... yes
checking for libm math function in std libs... yes
checking for main in -lstdc++... yes
checking for group 'root'... yes
checking for setproctitle... no
checking for libutil.h... no
checking for setproctitle in -lutil... no
checking for sys/pstat.h... no
checking how to run the C++ preprocessor... g++ -std=gnu++20 -E
checking for grep that handles long lines and -e... /nix/store/rn5b13lbsslbvmmbqnqxdcagzqp4435w-gnugrep-3.7/bin/grep
checking for egrep... /nix/store/rn5b13lbsslbvmmbqnqxdcagzqp4435w-gnugrep-3.7/bin/grep -E
checking whether __progname and __progname_full are available... yes
checking which argv replacement method to use... writeable
checking for linux/wireless.h... yes
checking that linux/wireless.h is what we expect... yes
checking can we use iw_freq.flags... yes
checking for cap_init in -lcap... yes
checking for sys/prctl.h... yes
checking for sys/capability.h... yes
checking for pcre_compile in -lpcre... yes
checking for pcre.h... yes
checking for sqlite3_libversion in -lsqlite3... yes
checking for sqlite3.h... yes
checking for pkg-config... pkg-config
checking whether compiling and linking against OpenSSL works... yes
checking pkg-config is at least version 0.9.0... yes
checking for libwebsockets >= 3.1.0... yes
checking for lws_client_connect_via_info in -lwebsockets... yes
checking for libpcap... yes
checking for protobuf... yes
checking for protoc... yes
checking for libprotobuf-c... yes
checking for protoc-c... yes
Using local radiotap headers
checking for libnl-3.0... yes
checking for libnl-genl-3.0... yes
checking for libnl-2.0... no
checking for libnl-1... no
checking For mac80211 support in netlink library... yes
checking for libusb-1.0... yes
checking for btbb.h... no
configure: WARNING: "btbb.h is missing"
checking for btbb_init in -lbtbb... no
configure: WARNING: "libbtbb is missing"
configure: WARNING: missing libbtbb, ubertooth-one support will not be built
configure: WARNING: missing one or more required libraries for ubertooth-one
configure: creating ./config.status
config.status: creating Makefile
config.status: creating Makefile.inc
config.status: WARNING:  'Makefile.inc.in' seems to ignore the --datarootdir setting
config.status: creating packaging/kismet.pc
config.status: creating packaging/systemd/kismet.service
config.status: creating packaging/systemd/debug/kismet-debug.service
config.status: creating capture_linux_bluetooth/Makefile
config.status: creating capture_linux_wifi/Makefile
config.status: creating capture_osx_corewlan_wifi/Makefile
config.status: creating capture_sdr_rtl433/Makefile
config.status: creating capture_sdr_rtlamr/Makefile
config.status: creating capture_sdr_rtladsb/Makefile
config.status: creating capture_bt_geiger/Makefile
config.status: creating capture_freaklabs_zigbee/Makefile
config.status: creating capture_nrf_mousejack/Makefile
config.status: creating capture_ti_cc_2540/Makefile
config.status: creating capture_ti_cc_2531/Makefile
config.status: creating capture_ubertooth_one/Makefile
config.status: creating capture_nrf_51822/Makefile
config.status: creating capture_nxp_kw41z/Makefile
config.status: creating capture_rz_killerbee/Makefile
config.status: creating capture_bladerf_wiphy/Makefile
config.status: creating capture_proxy_adsb/Makefile
config.status: creating capture_nrf_52840/Makefile
config.status: creating capture_hak5_wifi_coconut/Makefile
config.status: creating config.h
Configuration complete:
         Compiling for: linux-gnu (x86_64)
           C++ Library: stdc++
      Protobuf Library: protobuf
   Installing as group: root
       Installing into: /nix/store/vm2a9h77pxbg2n3s09spzcanclqrpnid-kismet-2023-08-08_unstable
          Setuid group: kismet
        Prelude  SIEM : no
            PCRE regex: libpcre1
 Websocket datasources: yes
LibCapability (enhanced
   privilege dropping): yes
  Linux Wi-Fi capture : yes
         Linux Netlink: yes (mac80211 VAP creation) - libnl-3.0 libnl-genl-3.0
  Linux NetworkManager: no (will not be able to control NetworkManager, libnm disabled)
   Linux HCI Bluetooth: yes
   OSX/Darwin capture : n/a (only OSX/Darwin)
         nRF MouseJack: yes
       TI CC 2540 BTLE: yes
     TI CC 2531 Zigbee: yes
         Ubertooth One: no (libubertooth, libbtbb, or libusb-1.0 not available)
         NRF51822 BTLE: yes
       NRF52840 Zigbee: yes
  NXP KW41Z BLE/Zigbee: yes
          RZ KILLERBEE: yes
        Python Modules: yes
    Python interpreter: python3
       RTL-SDR RTL_433: yes
        RTL-SDR RTLAMR: yes
       RTL-SDR RTLADSB: yes
    BTLE Geiger Sensor: no (not explicitly enabled)
      Freaklabs Zigbee: yes
            ADSB Proxy: yes
         bladeRF-wiphy: no (bladeRF support not enabled)
     Hak5 WiFi Coconut: yes
 lm-sensors monitoring: no (will not be able to monitor system temperature, etc)
        Built-in Debug: yes - Full debug info available on crash, using unwind
*** WARNING ***
libnm (the NetworkManager control library) was not found (or it was disabled).
Kismet uses libnm to prevent NetworkManager from reconfiguring monitor mode
interfaces while Kismet is running; without this library you will need to manually
disable NetworkManager or manually tell it to ignore specific interaces.