Архив автора: admin

Как установить заголовки Linux в Kali Linux

Добро пожаловать в эту краткую статью, в которой рассказывается, как установить заголовки Linux в Kali Linux.

Заголовочные файлы Linux используются при определении интерфейса между различными компонентами ядра. Они также используются для определения интерфейсов между ядром и пользовательским пространством. Типичный случай, когда требуются заголовки Linux, — это запуск гипервизора, поскольку для инструментов требуются модули, которые взаимодействуют с ядром.

По умолчанию Kali Linux не поставляется с установленными заголовками Linux, вам придется делать это вручную.

 

Установка заголовков Linux с помощью APT

Один из методов, который вы можете использовать для установки заголовков ядра, — это использование диспетчера пакетов Debian с репозиториями Kali Linux.

Перед успешной установкой заголовков ядра вам может потребоваться выполнить полное обновление системы.

Отредактируйте файл sources.list и добавьте правильные репозитории, представленные в следующем ресурсе,

https://www.kali.org/docs/general-use/kali-linux-sources-list-repositories/

 

Затем обновите репозитории и запустите полное обновление дистрибутива.

sudo apt-get update



sudo apt-get dist-upgrade

 

После завершения перезагрузите установку Kali Linux и установите заголовки.

Введите команду ниже, чтобы установить заголовки Linux для вашей версии ядра. Мы воспользуемся командой uname –r, чтобы напрямую получить версию ядра.

sudo apt-get install –y linux-headers- $ ( uname -r )

 

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

 

Установка заголовков ядра вручную

Перед установкой заголовков ядра вручную запустите полное обновление дистрибутива и перезагрузитесь, чтобы убедиться, что у вас установлена ​​последняя версия ядра.

sudo apt-get update



sudo apt-get dist-upgrade

 

Откройте свой браузер и перейдите к

https://http.kali.org/kali/pool/main/l/linux/

 

Загрузите необходимые заголовки ядра в виде пакета deb.

Как установить заголовки Linux в Kali Linux

Затем используйте команду dpkg для установки заголовков:

sudo dpkg –i -headers-5.5.0-kali2-all-amd64_5.5.17-1kali1_amd64.deb

 

Это должно установить необходимые заголовки ядра.

 

Вывод

В этой статье показано, как вручную установить заголовки ядра в Kali Linux и использовать диспетчер пакетов apt.

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

 

Спасибо за чтение.



2021-03-05T09:13:30
Kali Linux

Ошибка timeout в Chrome: как исправить?

Веб-браузеры всегда были важной частью доступа и работы в Интернете. Google Chrome — один из самых популярных и широко используемых браузеров, и его пользовательская база продолжает расширяться. До его выпуска в основном использовались такие браузеры, как Internet Explorer и Firefox, и у них было много поклонников. У них было несколько отличных функций, которые в то время были чрезвычайно полезны.

Однако по мере развития технологий текущие функции не могли удовлетворить потребности людей. С выходом Chrome в 2008 году это полностью изменило динамику системы платформы веб-браузера, поскольку благодаря своей высокоскоростной производительности и стабильному характеру он быстро привлек внимание людей и обогнал своих предшественников.

Chrome сам по себе не безупречен и, как правило, имеет свои собственные проблемы.Одна конкретная проблема, которая постоянно растет, — это ошибка тайм-аута, которая также будет темой нашего обсуждения в этой статье, где мы рассмотрим различные решения относительно того, как можно исправить ошибку тайм-аута в Chrome.

Решения ошибки

Ошибка истечения времени ожидания обычно возникает из-за отсутствия связи между вашим браузером и веб-сайтом, к которому вы пытаетесь получить доступ. Это связано с тем, что либо ваш браузер не может получить данные, либо время, которое потребовалось, пересекло время ожидания сеанса и не смог установить соединение.

Часто бывает достаточно приобрести прокси-сервер proxy-sale.com и указать его в настройках браузера.

А вообще, есть несколько способов решить эту проблему. Давайте теперь исследуем их все.

1) Очистка данных просмотра из Chrome

Часто причина, по которой ваше соединение может истекать, заключается в том, что файлы cookie или кеши повреждены и создают проблемы при установлении соединения между вашим браузером и сервером веб-сайта. Поэтому хороший вариант — удалить данные о просмотре из вашего Google Chrome. Для этого откройте свой Google Chrome, затем нажмите на три вертикальные точки , перейдите к параметру «Дополнительные инструменты» и, наконец, выберите параметр «Очистить данные просмотра». Вы также можете открыть это с помощью сочетания клавиш Ctrl + Shift + Delete .

Затем откроется окно, в котором будет несколько вариантов для выбора, в частности, период времени, с которого вы хотите начать удаление данных просмотра. Раздела «Базовый» будет достаточно, чтобы устранить эту ошибку; однако, если есть какие-то особые настройки сайта, которые, по вашему мнению, создают проблемы, вы можете выбрать их в разделе «Дополнительно».

Очистить данные просмотров:

Настройки сайта на вкладке «Дополнительно»:

Перезапустите веб-браузер Chrome и проверьте, загружается ли веб-страница.

2) Отключение брандмауэра

Другая причина, по которой вы можете получить ошибку тайм-аута в Chrome, может быть связана с тем, что ваш брандмауэр пытается заблокировать соединение между вашим браузером и сервером. Брандмауэры — это функции безопасности, установленные для защиты ваших систем и блокировки подозрительных веб-страниц. Однако иногда это приводит к блокировке безопасных страниц. В Windows вы должны проверить это через брандмауэр Windows. Сначала найдите Брандмауэр в меню поиска и откройте его.

Затем нажмите Включить или выключить брандмауэр Windows.

Вам нужно нажать на опцию Отключить брандмауэр Windows в настройках расположения частной сети здесь.

Затем нажмите OK, и теперь вы увидите следующее на главной странице вашего брандмауэра.

Теперь еще раз проверьте, загружает ли ваш Chrome веб-сайт или нет.

3) Редактирование файла хостов Windows

Другой альтернативой исправлению ошибки превышения времени ожидания является проверка файла хостов Windows на предмет отсутствия доступа к именам веб-сайтов. Возможно, они были заблокированы файлом хостов. Для редактирования хост — файл, откройте Мой компьютер, а затем перейти к следующему каталогу: C:WindowsSystem32DriversEtc. Здесь вы увидите файл с именем hosts. Откройте файл, щелкнув его правой кнопкой мыши и используя блокнот или аналогичное программное обеспечение, чтобы открыть его. Теперь убедитесь, что имена веб-сайтов не упоминаются после раздела localhost.

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

4) Сброс и очистка DNS

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

Затем введите следующие команды, чтобы очистить кеш DNS и обновить свой IP-адрес:

$ ipconfig /flushdns

$ ipconfig /registerdns

$ ipconfig /release

$ ipconfig /renew

После этого выполните следующую команду, чтобы сбросить его:

$ netsh winsock reset

Перезагрузите компьютер и попробуйте еще раз загрузить веб-страницу в Chrome.

5) Настройка параметров локальной сети

Еще одна альтернатива — заглянуть в настройки вашей локальной сети и настроить несколько параметров. Для этого откройте панель управления , нажмите «Сеть и Интернет», а затем выберите «Свойства обозревателя» .

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

Затем нажмите кнопку настроек LAN, расположенную в разделе LAN.

Здесь снимите флажок «Использовать прокси-сервер» в разделе «Прокси-сервер» и нажмите «ОК».

После настройки параметров локальной сети перезагрузите систему, а после перезапуска откройте Chrome и убедитесь, что он загружает вашу веб-страницу.

Вывод?

Chrome — отличный веб-браузер, который значительно упростил процесс доступа в Интернет. Но, как и все изобретения, он не лишен недостатков и может иметь некоторые ошибки. Поэтому важно знать, как можно своевременно устранять эти ошибки.

https://www.youtube.com/watch?v=FHWI1qAObdU



2021-03-04T17:04:47
Вопросы читателей

Утилита tcpdump для анализа сети

Консольная утилита tcpdump предназначена для исследования сетевого трафика на linux серверах. Как работать с tcpdump на Linux? Рассмотрим в этой статье.

Читать

Кортежи в Python

Python имеет несколько последовательных типов данных, которые позволяют хранить коллекции данных организованным и эффективным способом. Основные типы последовательностей — это строки, списки, кортежи и объекты диапазонов.

В этой статье вы познакомитесь с основами кортежей Python. Мы покажем вам, как создать кортеж, получить доступ к элементам, распаковать кортеж и многое другое.

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

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

Создание кортежей

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

colors = ('orange', 'white', 'green')


Кортеж может содержать элементы со смешанными типами данных. Вы также можете объявлять вложенные кортежи, где еще одним из его элементов являются списки, кортежи или словари:

my_tuple = (1, False, ["red", "blue"], ("foo", "bar"))


Круглые скобки без элементов между ними обозначают пустой кортеж:

my_tuple = ()


Чтобы создать кортеж только с одним элементом, вы должны добавить запятую после элемента:

my_tuple = (1)

type(my_tuple)

my_tuple = (1,)

type(my_tuple)


<class 'int'>

<class 'tuple'>


Кортежи также можно создавать с помощью конструктора tuple() :

colors_list = ['orange', 'white', 'green']

colors_typle = tuple(colors_list)

print(type(colors_typle))


<class 'tuple'>


Другой способ создания кортежа — использовать функцию упаковки кортежа, которая позволяет вам создать кортеж из последовательности объектов, разделенных запятыми:

directions = "North", "South", "East", "West"

print(type(directions))


<class 'tuple'>


Доступ к элементам кортежа

На элемент кортежа можно ссылаться по его индексу. Индексы являются целыми числами и начинаются от 0 до n-1 где n — количество элементов:

my_tuple = ["a", "b", "c", "d"]

             0    1    2    3


В Python индексы указываются в квадратных скобках:

my_tuple[index]


Например, чтобы получить доступ к третьему элементу кортежа, вы должны tuple_name[2] :

directions = ("North", "South", "East", "West")directions[2]

'East'


Если вы ссылаетесь на несуществующий индекс, IndexError исключение IndexError:

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

IndexError: tuple index out of range


Для доступа к элементам во вложенном кортеже используйте несколько индексов:

my_tuple = (1, False, ["red", "blue"], ("foo", "bar"))my_tuple[3][1]

'bar'


Вы также можете получить доступ к элементам кортежа, используя отрицательные индексы. Последний элемент обозначается как -1 , второй последний элемент — как -2 и так далее:

my_tuple = ("a", "b", "c", "d")

            -4   -3   -2   -1


directions = ("North", "South", "East", "West")directions[-2]

'East'


Нарезка кортежей

В Python вы можете разрезать кортеж и другие последовательные типы данных, используя следующую форму:

sequence[start:stop:step]


  • start — это индекс, с которого начинается извлечение. Когда используется отрицательный индекс, он указывает смещение от конца кортежа. Если этот аргумент опущен, нарезка начинается с индекса 0.
  • stop — индекс, до которого следует завершить извлечение; результат не включает элемент «стоп». Когда используется отрицательный индекс, он указывает смещение от конца кортежа. Если этот аргумент опущен или превышает длину кортежа, нарезка выполняется до конца кортежа.
  • step — необязательный аргумент, указывающий шаг нарезки. Если не указано, по умолчанию используется 1. Если используется отрицательное значение, срез принимает элементы в обратном порядке.

Результатом нарезки кортежа является новый кортеж, содержащий извлеченные элементы.

Следующие формы допустимы в Python:

T[:] # copy whole tuple

T[start:] # slice the tuple starting from the element with index "start" to the end of the tuple.

T[:stop] # slice the tuple starting from the begging up to but not including the element with index "stop".

T[start:stop] #  slice the tuple starting from the element with index "start" up to but not including the element with index "stop".

stop"

T[::step] # slice the tuple with a stride of "step"


Ниже приведен пример того, как нарезать кортеж, начиная с элемента с индексом 1 до элемента с индексом 4, но не включая его:

vegetables = ('Potatoes', 'Garlic', 'Celery', 'Carrots', 'Broccoli')vegetables[1:4]

('Garlic', 'Celery', 'Carrots')


Распаковка кортежей

Распаковка последовательности в функции Python, которая позволяет вам назначать объекты последовательности переменным. Вот пример:

colors = ('orange', 'white', 'green')

a, b, c = colors

print(a)

print(b)

print(c)


Значения элементов кортежа в соответствии с их положением присваиваются переменным слева:

orange

white

green


При распаковке кортежей количество переменных в левом кортеже должно быть таким же, как количество элементов кортежа. В противном случае вы получите исключение ValueError

colors = ('orange', 'white', 'green')

a, b = colors


ValueError: too many values to unpack (expected 2)


Распаковка удобна, когда метод или функция возвращает последовательность объектов:

def square_area_circumference(side_lenght):

  return side_lenght * side_lenght, side_lenght * 4



area, circumference = square_area_circumference(5)



print(area)

print(circumference)


25

20


Изменение кортежа

Поскольку кортежи являются неизменяемыми структурами данных, мы не можем обновлять их напрямую. Вы не можете добавлять, изменять, удалять элементы в кортежах.

Если вы попытаетесь изменить элемент кортежа, вы получите исключение TypeError

colors = ("orange", "white", "green")

colors[1] = "blue"


Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: 'tuple' object does not support item assignment


Элементы изменяемого кортежа могут быть изменены. Например, если кортеж имеет список в качестве одного из его элементов, вы можете обновить элементы списка:

my_tuple = (1, 2, [5, 6, 7])

my_tuple[2][1] = 4

print(my_tuple)


(1, 2, [5, 4, 7])


Длина кортежа

Встроенная len() возвращает общее количество элементов данного объекта.

Чтобы найти длину кортежа, передайте его в качестве аргумента функции len() :

len(L)


Вот пример:

colors = ("orange", "white", "green")

lenght = len(colors)

print(lenght)


3


Итерация по кортежу

Чтобы перебрать все элементы в кортеже, вы можете использовать цикл for

directions = ("North", "South", "East", "West")

for direction in directions:

  print(direction)


North

South

East

West


Если вам нужны индексы, в вашем распоряжении есть несколько методов. Наиболее распространенные способы — комбинировать функции range() и len() или использовать встроенную функцию enumerate()

В приведенном ниже примере показано, как получить индекс и значение каждого элемента в кортеже:

directions = ("North", "South", "East", "West")

for i in range(len(directions)):

  print("Index {} : Value {}".format(i, directions[i]))


Index 0 : Value North

Index 1 : Value South

Index 2 : Value East

Index 3 : Value West


Вместо использования range(len(...)) вы можете использовать enumerate() для перебора кортежа более питоническим способом:

directions = ("North", "South", "East", "West")

for index, value in enumerate(directions): 

  print("Index {} : Value {}".format(index, value))


Index 0 : Value North

Index 1 : Value South

Index 2 : Value East

Index 3 : Value West


Проверить, существует ли элемент

Чтобы проверить, существует ли элемент в кортеже, вы можете использовать операторы in а not in

colors = ("orange", "white", "green")

print("orange" in colors)


Результатом будет True или False :

True


Вот еще один пример с использованием оператора if :

colors = ("orange", "white", "green")

if "blue" not in colors:

  print("no")

else:

  print("yes")


no


Кортежные методы

Объект кортежа принимает следующие методы:

  • count(x) — возвращает количество раз, когда «x» встречается в кортеже.
  • index(x) — возвращает позицию первого вхождения элемента со значением ‘x’.

Ниже приведен простой пример, показывающий, как использовать эти методы:

my_tuple = ("a", "s", "s", "q", "a", "n")

print(my_tuple.count('a'))

print(my_tuple.index('a'))


2

0


Вывод

В Python кортежи — это неизменяемые последовательности объектов, которые нельзя изменить после создания.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2021-03-04T12:13:15
Python

Цикл for в Python

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

В Python есть две основные конструкции циклов, которые позволяют многократно повторять блок кода: циклы for и while

В этой статье мы рассмотрим основы for в Python. Мы также покажем вам, как использовать range для генерации последовательности чисел, а else break и continue для изменения потока цикла. Читать

Создание самоподписанного сертификата SSL

Для создания простого самоподписанного сертификата в Ubuntu достаточно всего двух команд. Первая создает открытый и закрытый ключи, вторая — ключ Диффи-Хелмана.

Читать