1-
Здесь - это то, как это делает:
static int getdestaddr_iptables(int fd, const struct sockaddr_in *client, const struct sockaddr_in *bindaddr, struct sockaddr_in *destaddr)
{
socklen_t socklen = sizeof(*destaddr);
int error;
error = getsockopt(fd, SOL_IP, SO_ORIGINAL_DST, destaddr, &socklen);
if (error) {
log_errno(LOG_WARNING, "getsockopt");
return -1;
}
return 0;
}
IPTables переопределяет оригинальный адрес назначения, но он вспоминает старый. Код приложения может затем извлечь его, задавая специальную опцию сокета SO_ORIGINAL_DST
.
Я подозреваю, что в /root/.ssh/known_hosts
нет записей myip
. Пожалуйста, попробуйте один раз sudo ssh root@myip
интерактивно перед запуском этого скрипта.
Кроме того, вы можете отключить проверку ключа хоста:
#!/bin/bash -v
sshpass -p '<pypasswd>' scp -o StrictHostKeyChecking=no blah.img root@myip:/home/user/blah.img
exit 0
Если вы недавно добавили libCmp.
В качестве корня можно попробовать:
ldconfig -v
ldconfig создает необходимые ссылки и кэш для самых последних общих библиотек, найденных в каталогах, указанных в командной строке, в файле/etc/ld.so.conf и в надежных каталогах (/lib и/usr/lib). Кэш используется временем выполнения linker, ld.so или ld-linux.so
Параметр -v создает список ldconfig для всех файлов, на которые он ссылается в кэше. Затем можно просмотреть выходные данные и подтвердить наличие libCmp.
-121--125508-Если вы хотите избежать ошибок «в разрешении отказано» и рекурсивно искать всю файловую систему Android, вам необходимо иметь «укоренившееся» устройство.
После установки корневого устройства можно установить любое приложение эмулятора терминала, запустить su
и выполнить команду find
.
Например, вы хотите найти все файлы с расширением .ko
, поэтому выполните команду
find/-name «* .ko»
в эмуляторе терминала после выполнения команды su
.
Пользователь root не имеет тех же закрытых ключей, которые используются, когда он не работает как root. Поэтому в качестве корня копировать материал нельзя.
Попробуйте скопировать добавление ~/.ssh/id _ rsa
в /root/.ssh/id _ rsa
(или другого закрытого ключа, используемого для подключения к myip
).
Можно также разрешить sudo
выполнять другие действия и вернуться к «обычному» пользователю в сценарии явным образом перед копированием.