gitextract_w8thaqpx/ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── config.yml │ │ └── default_issue.md │ ├── dependabot.yml │ └── workflows/ │ ├── build-and-deploy.yml │ ├── build-and-push-docker.yml │ ├── test-on-linux.yml │ ├── test-on-macos.yml │ └── test-on-windows.yml ├── .gitignore ├── Dockerfile ├── Dockerfile.arm64 ├── LICENSE.md ├── Makefile ├── README.md ├── SECURITY.md ├── bettercap.service ├── caplets/ │ ├── caplet.go │ ├── caplet_test.go │ ├── doc.go │ ├── env.go │ ├── env_test.go │ ├── manager.go │ └── manager_test.go ├── core/ │ ├── banner.go │ ├── banner_test.go │ ├── core.go │ ├── core_android.go │ ├── core_test.go │ ├── core_unix.go │ ├── core_windows.go │ ├── doc.go │ └── options.go ├── firewall/ │ ├── doc.go │ ├── firewall.go │ ├── firewall_darwin.go │ ├── firewall_linux.go │ ├── firewall_windows.go │ ├── redirection.go │ └── redirection_test.go ├── go.mod ├── go.sum ├── js/ │ ├── crypto.go │ ├── data.go │ ├── data_test.go │ ├── fs.go │ ├── fs_test.go │ ├── http.go │ ├── init.go │ ├── log.go │ ├── random.go │ └── random_test.go ├── log/ │ ├── doc.go │ ├── log.go │ └── log_test.go ├── main.go ├── main_test.go ├── modules/ │ ├── any_proxy/ │ │ ├── any_proxy.go │ │ └── any_proxy_test.go │ ├── api_rest/ │ │ ├── api_rest.go │ │ ├── api_rest_controller.go │ │ ├── api_rest_record.go │ │ ├── api_rest_replay.go │ │ ├── api_rest_test.go │ │ └── api_rest_ws.go │ ├── arp_spoof/ │ │ ├── arp_spoof.go │ │ └── arp_spoof_test.go │ ├── ble/ │ │ ├── ble_options_darwin.go │ │ ├── ble_options_linux.go │ │ ├── ble_recon.go │ │ ├── ble_recon_events.go │ │ ├── ble_recon_test.go │ │ ├── ble_show.go │ │ ├── ble_show_services.go │ │ ├── ble_show_sort.go │ │ └── ble_unsupported.go │ ├── c2/ │ │ ├── c2.go │ │ └── c2_test.go │ ├── can/ │ │ ├── can.go │ │ ├── can_dbc.go │ │ ├── can_dbc_compile.go │ │ ├── can_dbc_load.go │ │ ├── can_dump_reader.go │ │ ├── can_fuzz.go │ │ ├── can_inject.go │ │ ├── can_message.go │ │ ├── can_obd2.go │ │ ├── can_obd2_message.go │ │ ├── can_obd2_pid_request.go │ │ ├── can_obd2_pid_response.go │ │ ├── can_recon.go │ │ ├── can_show.go │ │ └── can_test.go │ ├── caplets/ │ │ └── caplets.go │ ├── dhcp6_spoof/ │ │ └── dhcp6_spoof.go │ ├── dns_proxy/ │ │ ├── dns_proxy.go │ │ ├── dns_proxy_base.go │ │ ├── dns_proxy_base_filters.go │ │ ├── dns_proxy_js_query.go │ │ ├── dns_proxy_js_record.go │ │ ├── dns_proxy_js_record_edns0.go │ │ ├── dns_proxy_js_record_svcb.go │ │ └── dns_proxy_script.go │ ├── dns_spoof/ │ │ ├── dns_spoof.go │ │ └── dns_spoof_hosts.go │ ├── doc.go │ ├── events_stream/ │ │ ├── events_rotation.go │ │ ├── events_stream.go │ │ ├── events_triggers.go │ │ ├── events_view.go │ │ ├── events_view_ble.go │ │ ├── events_view_ble_unsupported.go │ │ ├── events_view_can.go │ │ ├── events_view_gateway.go │ │ ├── events_view_gps.go │ │ ├── events_view_hid.go │ │ ├── events_view_http.go │ │ ├── events_view_wifi.go │ │ ├── events_view_zeroconf.go │ │ └── trigger_list.go │ ├── gps/ │ │ └── gps.go │ ├── graph/ │ │ ├── create.go │ │ ├── create_ble.go │ │ ├── create_ble_unsupported.go │ │ ├── edge.go │ │ ├── edges.go │ │ ├── graph.go │ │ ├── js_builtin.go │ │ ├── module.go │ │ ├── node.go │ │ ├── stack.go │ │ ├── to_dot.go │ │ └── to_json.go │ ├── hid/ │ │ ├── build_amazon.go │ │ ├── build_logitech.go │ │ ├── build_microsoft.go │ │ ├── builders.go │ │ ├── command.go │ │ ├── duckyparser.go │ │ ├── hid.go │ │ ├── hid_inject.go │ │ ├── hid_recon.go │ │ ├── hid_show.go │ │ ├── hid_show_sort.go │ │ ├── hid_sniff.go │ │ └── keymaps.go │ ├── http_proxy/ │ │ ├── http_proxy.go │ │ ├── http_proxy_base.go │ │ ├── http_proxy_base_cookietracker.go │ │ ├── http_proxy_base_filters.go │ │ ├── http_proxy_base_hosttracker.go │ │ ├── http_proxy_base_sslstriper.go │ │ ├── http_proxy_cert_cache.go │ │ ├── http_proxy_js_request.go │ │ ├── http_proxy_js_response.go │ │ ├── http_proxy_script.go │ │ └── http_proxy_test.go │ ├── http_server/ │ │ └── http_server.go │ ├── https_proxy/ │ │ └── https_proxy.go │ ├── https_server/ │ │ └── https_server.go │ ├── mac_changer/ │ │ └── mac_changer.go │ ├── modules.go │ ├── modules_test.go │ ├── mysql_server/ │ │ └── mysql_server.go │ ├── ndp_spoof/ │ │ └── ndp_spoof.go │ ├── net_probe/ │ │ ├── net_probe.go │ │ ├── net_probe_nbns.go │ │ ├── net_probe_test.go │ │ ├── net_probe_upnp.go │ │ └── net_probe_wsd.go │ ├── net_recon/ │ │ ├── net_recon.go │ │ ├── net_recon_test.go │ │ ├── net_show.go │ │ └── net_show_sort.go │ ├── net_sniff/ │ │ ├── net_sniff.go │ │ ├── net_sniff_context.go │ │ ├── net_sniff_dns.go │ │ ├── net_sniff_dot11.go │ │ ├── net_sniff_event.go │ │ ├── net_sniff_ftp.go │ │ ├── net_sniff_fuzz.go │ │ ├── net_sniff_http.go │ │ ├── net_sniff_krb5.go │ │ ├── net_sniff_mdns.go │ │ ├── net_sniff_ntlm.go │ │ ├── net_sniff_parsers.go │ │ ├── net_sniff_sni.go │ │ ├── net_sniff_stats.go │ │ ├── net_sniff_tcp.go │ │ ├── net_sniff_teamviewer.go │ │ ├── net_sniff_udp.go │ │ ├── net_sniff_upnp.go │ │ └── net_sniff_views.go │ ├── packet_proxy/ │ │ ├── packet_proxy_darwin.go │ │ ├── packet_proxy_freebsd.go │ │ ├── packet_proxy_linux.go │ │ └── packet_proxy_windows.go │ ├── syn_scan/ │ │ ├── banner_grabbing.go │ │ ├── dns_grabber.go │ │ ├── http_grabber.go │ │ ├── syn_scan.go │ │ ├── syn_scan_event.go │ │ ├── syn_scan_parsers.go │ │ ├── syn_scan_reader.go │ │ └── tcp_grabber.go │ ├── tcp_proxy/ │ │ ├── tcp_proxy.go │ │ ├── tcp_proxy_script.go │ │ └── tcp_proxy_script_test.go │ ├── ticker/ │ │ ├── ticker.go │ │ └── ticker_test.go │ ├── ui/ │ │ ├── ui/ │ │ │ ├── assets/ │ │ │ │ ├── fontawesome/ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ ├── css/ │ │ │ │ │ │ ├── all.css │ │ │ │ │ │ ├── brands.css │ │ │ │ │ │ ├── fontawesome.css │ │ │ │ │ │ ├── regular.css │ │ │ │ │ │ ├── solid.css │ │ │ │ │ │ ├── svg-with-js.css │ │ │ │ │ │ └── v4-shims.css │ │ │ │ │ ├── js/ │ │ │ │ │ │ ├── all.js │ │ │ │ │ │ ├── brands.js │ │ │ │ │ │ ├── fontawesome.js │ │ │ │ │ │ ├── regular.js │ │ │ │ │ │ ├── solid.js │ │ │ │ │ │ └── v4-shims.js │ │ │ │ │ ├── less/ │ │ │ │ │ │ ├── _animated.less │ │ │ │ │ │ ├── _bordered-pulled.less │ │ │ │ │ │ ├── _core.less │ │ │ │ │ │ ├── _fixed-width.less │ │ │ │ │ │ ├── _icons.less │ │ │ │ │ │ ├── _larger.less │ │ │ │ │ │ ├── _list.less │ │ │ │ │ │ ├── _mixins.less │ │ │ │ │ │ ├── _rotated-flipped.less │ │ │ │ │ │ ├── _screen-reader.less │ │ │ │ │ │ ├── _shims.less │ │ │ │ │ │ ├── _stacked.less │ │ │ │ │ │ ├── _variables.less │ │ │ │ │ │ ├── brands.less │ │ │ │ │ │ ├── fontawesome.less │ │ │ │ │ │ ├── regular.less │ │ │ │ │ │ ├── solid.less │ │ │ │ │ │ └── v4-shims.less │ │ │ │ │ ├── metadata/ │ │ │ │ │ │ ├── categories.yml │ │ │ │ │ │ ├── icons.json │ │ │ │ │ │ ├── icons.yml │ │ │ │ │ │ ├── shims.json │ │ │ │ │ │ ├── shims.yml │ │ │ │ │ │ └── sponsors.yml │ │ │ │ │ └── scss/ │ │ │ │ │ ├── _animated.scss │ │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ │ ├── _core.scss │ │ │ │ │ ├── _fixed-width.scss │ │ │ │ │ ├── _icons.scss │ │ │ │ │ ├── _larger.scss │ │ │ │ │ ├── _list.scss │ │ │ │ │ ├── _mixins.scss │ │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ │ ├── _screen-reader.scss │ │ │ │ │ ├── _shims.scss │ │ │ │ │ ├── _stacked.scss │ │ │ │ │ ├── _variables.scss │ │ │ │ │ ├── brands.scss │ │ │ │ │ ├── fontawesome.scss │ │ │ │ │ ├── regular.scss │ │ │ │ │ ├── solid.scss │ │ │ │ │ └── v4-shims.scss │ │ │ │ └── openlayers/ │ │ │ │ ├── ol.css │ │ │ │ └── ol.js │ │ │ ├── index.html │ │ │ ├── main.js │ │ │ ├── polyfills.js │ │ │ ├── runtime.js │ │ │ ├── scripts.js │ │ │ ├── styles.js │ │ │ └── vendor.js │ │ └── ui.go │ ├── update/ │ │ ├── update.go │ │ └── update_test.go │ ├── utils/ │ │ ├── view_selector.go │ │ └── view_selector_test.go │ ├── wifi/ │ │ ├── wifi.go │ │ ├── wifi_ap.go │ │ ├── wifi_assoc.go │ │ ├── wifi_bruteforce.go │ │ ├── wifi_bruteforce_darwin.go │ │ ├── wifi_bruteforce_linux.go │ │ ├── wifi_bruteforce_unsupported.go │ │ ├── wifi_csa.go │ │ ├── wifi_deauth.go │ │ ├── wifi_events.go │ │ ├── wifi_fake_auth.go │ │ ├── wifi_hopping.go │ │ ├── wifi_inject.go │ │ ├── wifi_inject_darwin.go │ │ ├── wifi_recon.go │ │ ├── wifi_recon_handshakes.go │ │ ├── wifi_show.go │ │ ├── wifi_show_sort.go │ │ └── wifi_test.go │ ├── wol/ │ │ ├── wol.go │ │ └── wol_test.go │ └── zerogod/ │ ├── zeroconf/ │ │ ├── client.go │ │ ├── connection.go │ │ ├── doc.go │ │ ├── server.go │ │ ├── service.go │ │ └── utils.go │ ├── zerogod.go │ ├── zerogod_acceptor.go │ ├── zerogod_advertise.go │ ├── zerogod_browser.go │ ├── zerogod_discovery.go │ ├── zerogod_endpoint_update.go │ ├── zerogod_generic_tcp_handler.go │ ├── zerogod_http_handler.go │ ├── zerogod_ipp_get_job_attributes.go │ ├── zerogod_ipp_get_jobs.go │ ├── zerogod_ipp_get_printer_attributes.go │ ├── zerogod_ipp_handler.go │ ├── zerogod_ipp_primitives.go │ ├── zerogod_ipp_print_job.go │ ├── zerogod_ipp_unhandled.go │ ├── zerogod_ipp_validate_job.go │ ├── zerogod_known_services.go │ ├── zerogod_save.go │ ├── zerogod_service.go │ ├── zerogod_show.go │ └── zerogod_test.go ├── network/ │ ├── arp.go │ ├── arp_parser_darwin.go │ ├── arp_parser_linux.go │ ├── arp_parser_windows.go │ ├── ble.go │ ├── ble_device.go │ ├── ble_unsupported.go │ ├── can.go │ ├── can_device.go │ ├── debug.go │ ├── doc.go │ ├── hid.go │ ├── hid_device.go │ ├── lan.go │ ├── lan_endpoint.go │ ├── lan_test.go │ ├── make_manuf.py │ ├── manuf/ │ │ ├── cid.csv │ │ ├── iab.csv │ │ ├── mam.csv │ │ ├── oui.csv │ │ └── oui36.csv │ ├── manuf.go │ ├── manuf.go.template │ ├── meta.go │ ├── meta_test.go │ ├── net.go │ ├── net_darwin.go │ ├── net_darwin.m │ ├── net_gateway.go │ ├── net_gateway_android.go │ ├── net_linux.go │ ├── net_test.go │ ├── net_wifi.go │ ├── net_windows.go │ ├── pcap.go │ ├── services.go │ ├── wifi.go │ ├── wifi_ap.go │ ├── wifi_handshake.go │ ├── wifi_station.go │ └── wifi_test.go ├── packets/ │ ├── arp.go │ ├── arp_test.go │ ├── dhcp6.go │ ├── dhcp6_layer.go │ ├── dhcp6_layer_test.go │ ├── dhcp6_test.go │ ├── doc.go │ ├── dot11.go │ ├── dot11_test.go │ ├── dot11_types.go │ ├── dot11_types_test.go │ ├── dot11_wps.go │ ├── dot11_wps_attrs.go │ ├── icmp6.go │ ├── icmp6_test.go │ ├── krb5.go │ ├── krb5_test.go │ ├── mdns.go │ ├── mdns_test.go │ ├── mysql.go │ ├── mysql_test.go │ ├── nbns.go │ ├── nbns_test.go │ ├── ntlm.go │ ├── ntlm_test.go │ ├── queue.go │ ├── queue_test.go │ ├── serialize.go │ ├── serialize_test.go │ ├── tcp.go │ ├── tcp_test.go │ ├── teamviewer.go │ ├── udp.go │ ├── udp_test.go │ ├── upnp.go │ └── wsd.go ├── release.py ├── routing/ │ ├── route.go │ ├── route_test.go │ ├── tables.go │ ├── tables_test.go │ ├── update_darwin.go │ ├── update_linux.go │ └── update_windows.go ├── session/ │ ├── command_handler.go │ ├── command_handler_test.go │ ├── doc.go │ ├── environment.go │ ├── environment_test.go │ ├── events.go │ ├── events_ignore_list.go │ ├── events_test.go │ ├── module.go │ ├── module_handler.go │ ├── module_handler_test.go │ ├── module_param.go │ ├── module_param_test.go │ ├── prompt.go │ ├── script.go │ ├── script_builtin.go │ ├── script_builtin_runtime.go │ ├── session.go │ ├── session_completers.go │ ├── session_core_handlers.go │ ├── session_json.go │ ├── session_parse.go │ ├── session_routing.go │ ├── session_setup.go │ ├── session_setup_test.go │ └── session_test.go └── tls/ ├── cert.go ├── doc.go ├── sign.go └── tls_test.go