B правой части каждого сообщения есть стрелки ⇧ и ⇩. Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок ✔ в правой части сообщения.
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
root@kali:~/mdk4# make
make -C src clean
make[1]: вход в каталог «/root/mdk4/src»
rm -f mdk4
rm -f debug.o helpers.o mac_addr.o linkedlist.o greylist.o dumpfile.o packet.o brute.o osdep.o channelhopper.o ghosting.o fragmenting.o
rm -f ../test *.o
make -C osdep clean
make[2]: вход в каталог «/root/mdk4/src/osdep»
make -C radiotap clean
make[3]: вход в каталог «/root/mdk4/src/osdep/radiotap»
rm -f *.o
make[3]: выход из каталога «/root/mdk4/src/osdep/radiotap»
rm -f libosdep.a *.o .os.*
make[2]: выход из каталога «/root/mdk4/src/osdep»
make -C attacks clean
make[2]: вход в каталог «/root/mdk4/src/attacks»
rm -f attacks.o auth_dos.o beacon_flood.o countermeasures.o deauth.o dummy.o eapol.o fuzzer.o ieee80211s.o probing.o wids.o *.o
make[2]: выход из каталога «/root/mdk4/src/attacks»
make[1]: выход из каталога «/root/mdk4/src»
make -C src
make[1]: вход в каталог «/root/mdk4/src»
make -C osdep
make[2]: вход в каталог «/root/mdk4/src/osdep»
Building for Linux
make[3]: вход в каталог «/root/mdk4/src/osdep»
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o osdep.o osdep.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o network.o network.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o file.o file.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o linux.o linux.c
linux.c: In function ‘is_ndiswrapper’:
linux.c:183:17: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable]
183 | int n, pid, unused;
| ^~~~~~
linux.c: In function ‘linux_set_rate’:
linux.c:457:22: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable]
457 | int pid, status, unused;
| ^~~~~~
linux.c: In function ‘linux_set_channel_nl80211’:
linux.c:950:22: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable]
950 | int pid, status, unused;
| ^~~~~~
linux.c: In function ‘linux_set_channel’:
linux.c:1052:22: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable]
1052 | int pid, status, unused;
| ^~~~~~
linux.c: In function ‘linux_set_freq’:
linux.c:1143:22: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable]
1143 | int pid, status, unused;
| ^~~~~~
linux.c: In function ‘set_monitor’:
linux.c:1273:22: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable]
1273 | int pid, status, unused;
| ^~~~~~
linux.c: In function ‘openraw’:
linux.c:1513:63: warning: comparison of constant ‘6’ with boolean expression is always false [-Wbool-compare]
1513 | if (set_monitor( dev, iface, fd ) && !dev->drivertype == DT_ORINOCO )
| ^~
linux.c:1513:63: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
linux.c:1513:46: note: add parentheses around left hand side expression to silence this warning
1513 | if (set_monitor( dev, iface, fd ) && !dev->drivertype == DT_ORINOCO )
| ^~~~~~~~~~~~~~~~
| ( )
linux.c:1523:67: warning: comparison of constant ‘6’ with boolean expression is always false [-Wbool-compare]
1523 | if (set_monitor( dev, iface, fd ) && !dev->drivertype == DT_ORINOCO )
| ^~
linux.c:1523:67: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
linux.c:1523:50: note: add parentheses around left hand side expression to silence this warning
1523 | if (set_monitor( dev, iface, fd ) && !dev->drivertype == DT_ORINOCO )
| ^~~~~~~~~~~~~~~~
| ( )
linux.c: In function ‘do_linux_open’:
linux.c:1620:12: warning: variable ‘unused_str’ set but not used [-Wunused-but-set-variable]
1620 | char * unused_str;
| ^~~~~~~~~~
linux.c:1606:15: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable]
1606 | int kver, unused;
| ^~~~~~
linux.c: In function ‘get_battery_state’:
linux.c:2273:35: warning: variable ‘current’ set but not used [-Wunused-but-set-variable]
2273 | int rate = 1, remain = 0, current = 0;
| ^~~~~~~
At top level:
linux.c:2057:13: warning: ‘linux_close’ defined but not used [-Wunused-function]
2057 | static void linux_close(struct wif *wi)
| ^~~~~~~~~~~
linux.c:1048:12: warning: ‘linux_set_channel’ defined but not used [-Wunused-function]
1048 | static int linux_set_channel(struct wif *wi, int channel)
| ^~~~~~~~~~~~~~~~~
linux.c: In function ‘do_linux_open.constprop’:
linux.c:1906:9: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
1906 | strncpy(dev->main_if, iface, strlen(iface));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
linux.c:1911:9: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
1911 | strncpy(iface, buf, strlen(buf));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
linux.c:1937:37: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 113 [-Wformat-truncation=]
1937 | "/sys/class/net/%s/device/rtap_iface", this_iface->d_name);
| ^~
linux.c:1936:17: note: ‘snprintf’ output between 34 and 289 bytes into a destination of size 128
1936 | snprintf(r_file, sizeof(r_file),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1937 | "/sys/class/net/%s/device/rtap_iface", this_iface->d_name);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
linux.c: In function ‘get_battery_state’:
linux.c:2310:13: warning: argument 1 null where non-null expected [-Wnonnull]
2310 | closedir(batteries);
| ^~~~~~~~~~~~~~~~~~~
In file included from linux.c:40:
/usr/include/dirent.h:149:12: note: in a call to function ‘closedir’ declared here
149 | extern int closedir (DIR *__dirp) __nonnull ((1));
| ^~~~~~~~
linux.c:2318:78: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 109 [-Wformat-truncation=]
2318 | snprintf(battery_info, sizeof(battery_info), "/proc/acpi/battery/%s/info", this_battery->d_name);
| ^~
linux.c:2318:13: note: ‘snprintf’ output between 25 and 280 bytes into a destination of size 128
2318 | snprintf(battery_info, sizeof(battery_info), "/proc/acpi/battery/%s/info", this_battery->d_name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
linux.c:2330:37: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 109 [-Wformat-truncation=]
2330 | "/proc/acpi/battery/%s/state", this_battery->d_name);
| ^~
linux.c:2329:13: note: ‘snprintf’ output between 26 and 281 bytes into a destination of size 128
2329 | snprintf(battery_state, sizeof(battery_state),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2330 | "/proc/acpi/battery/%s/state", this_battery->d_name);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
linux.c:2289:40: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 106 [-Wformat-truncation=]
2289 | "/proc/acpi/ac_adapter/%s/state", this_adapter->d_name);
| ^~
linux.c:2288:13: note: ‘snprintf’ output between 29 and 284 bytes into a destination of size 128
2288 | snprintf(battery_state, sizeof(battery_state),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2289 | "/proc/acpi/ac_adapter/%s/state", this_adapter->d_name);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o linux_tap.o linux_tap.c
In function ‘ti_do_open_linux’,
inlined from ‘ti_open_linux’ at linux_tap.c:192:7,
inlined from ‘ti_open’ at linux_tap.c:207:9:
linux_tap.c:72:5: warning: ‘strncpy’ output may be truncated copying 15 bytes from a string of length 63 [-Wstringop-truncation]
72 | strncpy(priv->tl_ifr.ifr_name, priv->tl_name,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73 | sizeof(priv->tl_ifr.ifr_name) - 1);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o radiotap/radiotap.o radiotap/radiotap.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o common.o common.c
ar cru libosdep.a osdep.o network.o file.o linux.o linux_tap.o radiotap/radiotap.o common.o
ar: модификатор «u» игнорируется, так как по умолчанию используется «D» (смотрите «U»)
ranlib libosdep.a
touch .os.Linux
make[3]: выход из каталога «/root/mdk4/src/osdep»
make[2]: выход из каталога «/root/mdk4/src/osdep»
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o debug.o debug.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o helpers.o helpers.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o mac_addr.o mac_addr.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o linkedlist.o linkedlist.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o greylist.o greylist.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o dumpfile.o dumpfile.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o packet.o packet.c
packet.c: In function ‘create_ieee_hdr’:
packet.c:13:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
13 | if (!fragment) seqno++; seqno %= 0x1000;
| ^~
packet.c:13:27: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
13 | if (!fragment) seqno++; seqno %= 0x1000;
| ^~~~~
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o brute.o brute.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o osdep.o osdep.c
osdep.c: In function ‘osdep_init_txpowers’:
osdep.c:180:5: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
180 | strncpy(wreq.ifr_name, osdep_iface_out, IFNAMSIZ);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
osdep.c:219:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
219 | strncpy(wreq.ifr_name, osdep_iface_in, IFNAMSIZ);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
osdep.c:166:7: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
166 | printf("D'oh, open interface %s first, idiot...\n", osdep_iface_out);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
osdep.c: In function ‘osdep_random_txpower’:
osdep.c:266:5: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
266 | strncpy(wreq.ifr_name, osdep_iface_out, IFNAMSIZ);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
osdep.c:283:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
283 | strncpy(wreq.ifr_name, osdep_iface_in, IFNAMSIZ);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o channelhopper.o channelhopper.c
channelhopper.c:48:26: warning: initialization of ‘pthread_t’ {aka ‘long unsigned int’} from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
48 | pthread_t chan_sniffer = NULL;
| ^~~~
channelhopper.c: In function ‘error_handler’:
channelhopper.c:155:46: warning: unused parameter ‘nla’ [-Wunused-parameter]
155 | static int error_handler(struct sockaddr_nl *nla, struct nlmsgerr *err,
| ~~~~~~~~~~~~~~~~~~~~^~~
channelhopper.c: In function ‘finish_handler’:
channelhopper.c:163:42: warning: unused parameter ‘msg’ [-Wunused-parameter]
163 | static int finish_handler(struct nl_msg *msg, void *arg)
| ~~~~~~~~~~~~~~~^~~
channelhopper.c: In function ‘ack_handler’:
channelhopper.c:170:39: warning: unused parameter ‘msg’ [-Wunused-parameter]
170 | static int ack_handler(struct nl_msg *msg, void *arg)
| ~~~~~~~~~~~~~~~^~~
channelhopper.c: In function ‘valid_handler’:
channelhopper.c:186:45: warning: unused parameter ‘arg’ [-Wunused-parameter]
186 | int valid_handler(struct nl_msg *msg, void *arg)
| ~~~~~~^~~
channelhopper.c: In function ‘handle_channels’:
channelhopper.c:328:50: warning: unused parameter ‘state’ [-Wunused-parameter]
328 | static int handle_channels(struct nl80211_state *state, struct nl_msg *msg)
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~
At top level:
channelhopper.c:240:14: warning: ‘dfs_state_name’ defined but not used [-Wunused-function]
240 | static char *dfs_state_name(enum nl80211_dfs_state state)
| ^~~~~~~~~~~~~~
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o ghosting.o ghosting.c
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o fragmenting.o fragmenting.c
make -C attacks
make[2]: вход в каталог «/root/mdk4/src/attacks»
cc -g -O3 -Wall -Wextra -c -o attacks.o attacks.c
cc -g -O3 -Wall -Wextra -c -o auth_dos.o auth_dos.c
cc -g -O3 -Wall -Wextra -c -o beacon_flood.o beacon_flood.c
cc -g -O3 -Wall -Wextra -c -o countermeasures.o countermeasures.c
cc -g -O3 -Wall -Wextra -c -o deauth.o deauth.c
cc -g -O3 -Wall -Wextra -c -o dummy.o dummy.c
cc -g -O3 -Wall -Wextra -c -o eapol.o eapol.c
cc -g -O3 -Wall -Wextra -c -o fuzzer.o fuzzer.c
cc -g -O3 -Wall -Wextra -c -o ieee80211s.o ieee80211s.c
cc -g -O3 -Wall -Wextra -c -o probing.o probing.c
probing.c: In function ‘create_probe_req’:
probing.c:236:3: warning: implicit declaration of function ‘add_ssid_set’ [-Wimplicit-function-declaration]
236 | add_ssid_set(&probe, ssid);
| ^~~~~~~~~~~~
probing.c:237:3: warning: implicit declaration of function ‘add_rate_sets’ [-Wimplicit-function-declaration]
237 | add_rate_sets(&probe, 1, 1);
| ^~~~~~~~~~~~~
probing.c:240:25: warning: pointer targets in passing argument 2 of ‘stpcpy’ differ in signedness [-Wpointer-sign]
240 | stpcpy(popt->proceed, ssid);
| ^~~~
| |
| unsigned char *
In file included from probing.c:4:
/usr/include/string.h:452:70: note: expected ‘const char * restrict’ but argument is of type ‘unsigned char *’
452 | extern char *stpcpy (char *__restrict __dest, const char *__restrict __src)
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
cc -g -O3 -Wall -Wextra -c -o wids.o wids.c
make[2]: выход из каталога «/root/mdk4/src/attacks»
make -C attacks
make[2]: вход в каталог «/root/mdk4/src/attacks»
make[2]: Цель «all» не требует выполнения команд.
make[2]: выход из каталога «/root/mdk4/src/attacks»
gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon mdk4.c osdep/libosdep.a debug.o helpers.o mac_addr.o linkedlist.o greylist.o dumpfile.o packet.o brute.o osdep.o channelhopper.o ghosting.o fragmenting.o attacks/attacks.o attacks/auth_dos.o attacks/beacon_flood.o attacks/countermeasures.o attacks/deauth.o attacks/dummy.o attacks/eapol.o attacks/fuzzer.o attacks/ieee80211s.o attacks/probing.o attacks/wids.o -o mdk4 -lnl-genl-3 -lnl-3 -lm -Losdep -losdep -lpthread -lpcap
/usr/bin/ld: attacks/auth_dos.o:/root/mdk4/src/attacks/attacks.h:39: повторное определение «attack_count»; attacks/attacks.o:/root/mdk4/src/attacks/attacks.h:39: здесь первое определение
/usr/bin/ld: attacks/beacon_flood.o:/root/mdk4/src/attacks/beacon_flood.c:34: повторное определение «bssid»; attacks/auth_dos.o:/root/mdk4/src/attacks/auth_dos.c:50: здесь первое определение
/usr/bin/ld: attacks/beacon_flood.o:/root/mdk4/src/attacks/attacks.h:39: повторное определение «attack_count»; attacks/attacks.o:/root/mdk4/src/attacks/attacks.h:39: здесь первое определение
/usr/bin/ld: attacks/countermeasures.o:/root/mdk4/src/attacks/attacks.h:39: повторное определение «attack_count»; attacks/attacks.o:/root/mdk4/src/attacks/attacks.h:39: здесь первое определение
/usr/bin/ld: attacks/deauth.o:/root/mdk4/src/attacks/deauth.c:19: повторное определение «bssid»; attacks/auth_dos.o:/root/mdk4/src/attacks/auth_dos.c:50: здесь первое определение
/usr/bin/ld: attacks/deauth.o:/root/mdk4/src/attacks/attacks.h:39: повторное определение «attack_count»; attacks/attacks.o:/root/mdk4/src/attacks/attacks.h:39: здесь первое определение
/usr/bin/ld: attacks/dummy.o:/root/mdk4/src/attacks/attacks.h:39: повторное определение «attack_count»; attacks/attacks.o:/root/mdk4/src/attacks/attacks.h:39: здесь первое определение
/usr/bin/ld: attacks/eapol.o:/root/mdk4/src/attacks/attacks.h:39: повторное определение «attack_count»; attacks/attacks.o:/root/mdk4/src/attacks/attacks.h:39: здесь первое определение
/usr/bin/ld: attacks/fuzzer.o:/root/mdk4/src/attacks/attacks.h:39: повторное определение «attack_count»; attacks/attacks.o:/root/mdk4/src/attacks/attacks.h:39: здесь первое определение
/usr/bin/ld: attacks/ieee80211s.o:/root/mdk4/src/attacks/attacks.h:39: повторное определение «attack_count»; attacks/attacks.o:/root/mdk4/src/attacks/attacks.h:39: здесь первое определение
/usr/bin/ld: attacks/probing.o:/root/mdk4/src/attacks/attacks.h:39: повторное определение «attack_count»; attacks/attacks.o:/root/mdk4/src/attacks/attacks.h:39: здесь первое определение
/usr/bin/ld: attacks/wids.o:/root/mdk4/src/attacks/attacks.h:39: повторное определение «attack_count»; attacks/attacks.o:/root/mdk4/src/attacks/attacks.h:39: здесь первое определение
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:38: mdk4] Ошибка 1
make[1]: выход из каталога «/root/mdk4/src»
make: *** [Makefile:10: all] Ошибка 2
Найдено 0, всё обновлено, а ошибка при make так и осталась.делай с перва так
sudo apt update
sudo apt full-upgrade
sudo apt-get dist-upgrade
это не виртуалка, а вторая система.скачай make новый старый удали но с перва попробуй с другой виртуалки
# apt show mdk4
Package: mdk4
Version: 4.1+git20200420-2
Priority: optional
Section: net
Maintainer: Debian Security Tools <team+pkg-security@tracker.debian.org>
Installed-Size: 194 kB
Depends: aircrack-ng, libc6 (>= 2.14), libnl-3-200 (>= 3.2.7), libnl-genl-3-200 (>= 3.2.7), libpcap0.8 (>= 0.9.8)
Homepage: https://github.com/aircrack-ng/mdk4
Download-Size: 67.2 kB
APT-Manual-Installed: yes
APT-Sources: http://http.kali.org/kali kali-rolling/main amd64 Packages
Description: Wireless attack tool for IEEE 802.11 networks
This package contains a proof-of-concept tool to exploit common IEEE 802.11
protocol weaknesses.
.
MDK4 is a new version of MDK3. MDK4 is a Wi-Fi testing tool from E7mer of
360PegasusTeam, ASPj of k2wrlz, it uses the osdep library from the aircrack-ng
project to inject frames on several operating systems.
.
IMPORTANT: It is your responsibility to make sure you have permission from the
network owner before running MDK against it.
Обучение наступательной кибербезопасности в игровой форме. Начать игру!