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

Как изменить значение подкачки в Linux

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

Когда в системе Linux заканчивается физическая память, неактивные страницы перемещаются из ОЗУ в область подкачки.

Swappiness — это свойство ядра Linux, которое устанавливает баланс между заменой страниц из физической памяти в пространство подкачки и удалением страниц из кеша страниц. Он в основном определяет, как часто система будет использовать пространство подкачки.

В этой статье объясняется, как изменить значение swappiness в системах Linux. Читать

Цикл while в Python

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

В Python есть две основные конструкции цикла: цикл for и while .

В этом руководстве рассматриваются основы циклов while в Python. Мы также покажем вам, как использовать предложение else и операторы break и continue .

Python while Loop

В while цикл выполняет свои операторы неизвестное число раз до тех пор , как данное условие имеет значение true .

Python во while цикла имеет следующий вид:

while EXPRESSION:

    STATEMENT(S)


Оператор while начинается с ключевого слова while , за которым следует условное выражение.

EXPRESSION оценивается перед выполнением операторов. Если условие true , выполняется STATEMENT(S) . В противном случае, если условие оценивается как false , цикл завершается, и управление программой передается следующей инструкции.

Блок STATEMENT(S) начинается с отступа и заканчивается первой строкой без отступа. Большинство людей предпочитают использовать отступы с четырьмя или двумя пробелами. Официальное руководство по стилю для кода Python рекомендует использовать 4 пробела для каждого уровня отступа и избегать смешивания использования табуляции и пробелов для отступа.

Давайте посмотрим на следующий пример кода, который увеличивает и печатает текущее значение переменной i если оно меньше пяти:

i=0

while i < 5:

    i += 1

    print('number:', i)


Цикл вторника повторяется, пока i меньше или равно пяти. Он выдаст следующий результат:

number: 1

number: 2

number: 3

number: 4

number: 5


Python поддерживает стандартные операции сравнения:

  • a == b — Истинно, если a и b равны.
  • a != b — Верно, если a и b не равны.
  • a > b — Истинно, если a больше b .
  • a >= b — Истинно, если a равно или больше b .
  • a < b — Истинно, если a меньше b .
  • a <= b — Истинно, если a равно или меньше b .

Чтобы отрицать условное выражение, используйте логический оператор not :

i=0

while not i >= 5:

    i += 1

    print('number:', i)


break и continue утверждения

break и continue заявления позволяют контролировать while выполнение цикла.

Оператор break завершает текущий цикл и передает управление программой оператору, который следует за завершенным циклом. Наиболее распространенная ситуация — использовать break для завершения цикла при выполнении определенного условия.

В следующем примере выполнение цикла прерывается, когда текущий повторяемый элемент равен 2 .

i=0

while i < 5:

    i += 1

    if i == 2:

        break

    print('number:', i)


Number: 1


Оператор continue завершает текущую итерацию цикла и передает управление программой следующей итерации цикла.

В следующем примере, как только текущий повторяемый элемент равен 2 оператор continue заставит выполнение вернуться к началу цикла и продолжить следующую итерацию.

i=0

while i < 5:

    i += 1

    if i == 2:

        continue

    print('number:', i)


number: 1

number: 3

number: 4

number: 5


else пункт

В отличие от других языков, в Python, то в while петля имеет опциональный else условие:

while EXPRESSION:

    STATEMENT(S)

else:

    STATEMENT(S)


Операторы внутри предложения else выполняются только тогда, когда выражение EXPRESSION значение false . Если возникает исключение или цикл завершается оператором break , оно не выполняется.

Вот пример:

i=0

while i < 5:

    i += 1

    print('number:', i)

else:

    print('Loop completed.')


number: 1

number: 2

number: 3

number: 4

number: 5

Loop completed.


Теперь Лью посмотрим , что происходит , когда вы break из петли:

i=0

while i < 5:

    i += 1

    if i == 2:

        break

    print('number:', i)

else:

    print('Loop completed.')


Оператор внутри предложения else не выполняется, потому что выражение не имеет значения false :

Number: 1


else пункт с в while цикла не часто используется. Одна из распространенных ситуаций — это когда вы ожидаете выхода из цикла, и если цикл продолжает выполняться до тех пор, пока условие не станет false , вы можете выполнить некоторый оператор или функцию.

Бесконечный цикл while

Бесконечный цикл — это цикл, который повторяется бесконечно и никогда не завершается, пока программа не завершится. Если условие всегда истинно, вы получаете бесконечный цикл.

Бесконечные циклы обычно используются для того, чтобы программа ожидала возникновения какого-либо внешнего события. Обычно в Python бесконечный цикл создается с помощью while True: вместо True вы также можете использовать любое другое выражение, которое всегда возвращает true .

Вот пример бесконечного в while цикл , который будет продолжать предложит ввести «Да»:

while True:

    i = input('Please enter 'Yes': ')

    if i.strip() == 'Yes':

        break


В while цикл выше будет работать , пока вы не введете «Да»:

Please enter 'Yes': 3

Please enter 'Yes': l

Please enter 'Yes': lin

Please enter 'Yes': No

Please enter 'Yes': Yes


Другой способ прервать бесконечный цикл — нажать CTRL+C

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

Выводы

В while цикл многократно выполняет свои заявления до тех пор , данное условие имеет значение true .

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



2020-10-11T21:45:14
Python

Linux. Кто сидит на портах?

Контроль всех входов и выходов — это основа безопасности. Поэтому для определения уровня защищённости машины стоит первым делом проверить наличие открытых портов. Если они есть, то определить какие именно программы открывают эти порты. Попробуем это сделать. Читать

Сканирование сетевых портов в Linux – команда nmap

Время от время для безопасности рекомендуется сканировать свои сети для обнаружения уязвимостей. Для мониторинга сетевого окружения можно воспользоваться сканером с открытым исходным кодом nmap (полное наименование – Network Mapper). Данный инструмент очень удобен в работе, поэтому его применяют многие пользователи, начиная с новичков и заканчивая высококлассными специалистами по безопасности.


Установка nmap на Linux

По умолчанию nmap не установлен в операционною систему Линукс, поэтому его нужно установить.

Centos  8:

dnf install nmap

Для Дебиан / Убунту:

# apt update

# apt install nmap

Centos  7 / Redhat /Fedora

yum install nmap

Синтаксис

Сканирование портовСинтаксис команды nmap выглядит следующим образом:

nmap опции адрес

Network Mapper – проверенный инструмент санирования сетевых портов при использовании определенных опций. Примечательно, что данная команда также является излюбленной хитростью хакеров, поскольку с её помощью можно выявить уязвимые места в системе, подвергаемой атаке. Подобные действия являются противозаконными.

Если утилита nmap отсутствует на компьютере, необходимо заняться её установкой. Это легко сделать при помощи терминала:

$ sudo apt-get install nmap

Примеры

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

$ ip addr show

В открывшемся окне, напротив слова «inet» запомните число, указанное, после слеша. Например, 24. Это число понадобится вам в дальнейшем. Теперь нужно задать команду для сканирования сети с указанием сохраненного числа и IP маршрутизатора:

$ nmap -sL 192.168.1.1/24

Если в операционной системе Linux стоит защита от сканирования портов, процесс не даст никаких результатов. В этом случае пользователю придется пойти на небольшую хитрость – использовать специальную опцию для обхода этой защиты. Как это будет выглядеть на практике:

$ nmap -sn 192.168.1.1/24

Теперь в открывшемся окне должны появиться результаты сканирования. Далее следует провести сканирование портов нужного узла без добавления каких-либо опций. Запуск утилиты:

# nmap 192.168.1.1

В открывшемся окне будут указаны все порты, используемые различными сервисами на ПК. Не забывайте о том, что каждый из этих портов может послужить уязвимым местом в системе. Если вас не устраивает сжатый вид найденной информации о подключенных портах, попробуйте заполучить развернутые данные. Это можно выполнить данным способом:

# nmap -sV 192.168.1.1

Для осуществления проверки конкретного порта понадобится команда в виде:

# nmap -sC 192.168.56.102 -p 21

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

# find /usr/share/nmap/scripts/ -name '*.nse' | grep ftp

Чтобы утилита функционировала в агрессивном режиме (при таком раскладе в окне будет указана развернутая информация о портах, вызванная всего лишь одной командой, что особенно удобно для неопытного владельца Linux), нужно добавить специальную опцию в стандартную команду. А именно:

# nmap -A 192.168.1.1

Заключение

Утилита Network Mapper – отличный инструмент для мониторинга сетевого окружения в устройствах, функционирующих на операционной системе Linux (и не только). При этом нельзя забывать о возможных проделах мошенников, которые не брезгуют изучать чужие системы и сети с помощью функциональной программы. Но не стоит паниковать! Организуйте качественное и своевременное администрирование системы, чтобы повысить уровень её безопасности.



2020-10-09T21:14:05
Безопасность

How to Separate MikroTik Hotspot and DHCP IP Pool

MikroTik default Hotspot Setup comes with a DHCP Server (which uses same IP Pool of Hotspot Server) to provide IP address and other network information to a connected device. Using this automatic IP address connected device can access Hotspot login page. After successfully login, a one to one NAT IP address is also assigned for the device and this process happens internally in Hotspot Server. User device cannot know this one to one NAT IP assigning. However, Hotspot Server actually occupies two IP address for a successfully logged in user. For this, sometimes Hotspot IP Pool gets congested and new user cannot be able to connect to Hotspot network and hence Hotspot network get hampered. To overcome this situation we can configure DHCP IP Pool and Hotspot IP Pool separately. If we do so, DHCP will provide IP address from its own IP pool and Hotspot will also assign one to NAT IP address from its own IP Pool. For using two different IP Pools, there will be no IP shortage and Hotspot network can run smoothly.  To configure separate IP Pool for DHCP and Hotspot network, we need to apply some tricks and in this article I will discuss how to configure Hotspot and DHCP servers’ IP Pool separately using Winbox.




Configuring Separate IP Pool for Hotspot and DHCP Server  




MikroTik Hotspot Server has some complex configuration and doing any mistake on default configuration can shutdown Hotspot network. So, we have to be careful before doing any new configuration. Following the below three steps we can easily separate Hotspot and DHCP Server IP Pool.






  • Assigning a new gateway for Hotspot
  • Creating a new IP Pool for Hotspot
  • Assigning new IP Pool in Hotspot user profile
  • Creating new NAT rule for the New IP Block.




Step 1: Assigning a new gateway on Hotspot Interface




MikroTik Hotspot default setup configures same gateway IP address for both DHCP Server and Hotspot Server. So, at first we have to set different gateway for Hotspot Server. The following steps will show how to assign different gateway IP for Hotspot Server.




  • Login MikroTik Router with Winbox software using full permission user.
  • Go to IP > Addresses menu item. Address List window will appear.
  • Click on PLUS SIGN (+) to add a new gateway IP address. New Address window will appear.
  • Put new gateway IP address (example: 192.168.30.1/24) in Address input field.
  • Choose interface (example: ether2) on which Hotspot Server was installed from Interface dropdown menu.
  • Click Apply and OK button.




New IP Assigning for Hotspot Server
New IP Assigning for Hotspot Server




Step 2: Creating a New IP Pool for Hotspot




After creating a new gateway, we will now create a new IP Pool for Hotspot. Hotspot one to one NAT IP will be assigned from this IP Pool. The following steps will show how to create a new IP Pool for Hotspot Server.




  • Go to IP > Pool menu item. IP Pool window will appear.
  • Click on PLUS SIGN (+). New IP Pool window will appear.
  • Put a Pool name (example: Hotspot Pool) in Name input field.
  • Now put IP range (example: 192.168.30.2-192.168.30.254) in Addresses input field.  
  • Click Apply and OK button.




New IP Pool for Hotspot Server
New IP Pool for Hotspot Server




Step 3: Assigning Created IP Pool in Hotspot User Profile




After creating new IP Pool for Hotspot Server, we will now assign this pool in Hotspot user profile so that connected user can get one to one NAT IP from this IP Pool. The following steps will show how to assign IP Pool in Hotspot user profile.






  • Go to IP > Hotspot menu item. Hotspot window will appear now.
  • Click on User Profiles tab and then click on a created user profile where you want to assign this new IP Pool. Hotspot User Profile edit window will appear.
  • Under General tab, choose newly created IP Pool from Address Pool drop down menu.
  • Click Apply and OK button.
  • Do the above steps to all your remaining user profiles.




Assigning Hotspot Users' one to one NAT IP Pool.PNG
Assigning Hotspot Users’ one to one NAT IP Pool




Now one to one NAT IP will be assigned from this IP Pool. But at this moment user will not get internet because we have not yet configured NAT for this IP Block. So, in the next section we will do NATing for this IP Block.




Step 4: Creating New NAT Rule for the New IP Block




At last stage we enable NATing for this new IP Block so that these IP addresses can be NATed and user can get internet access. The following steps will show how to create new NAT rule in MikroTik Firewall.




  • Go to IP > Firewall menu item. Firewall window will appear.
  • Click on NAT tab and then click on PLUS SIGN (+). New NAT Rule window will appear.
  • Under General tab, choose srcnat from Chain dropdown menu.
  • Put new IP block (example: 192.168.30.0/24) in Src. Address input filed.
  • Now click on Action tab and choose masquerade from Action dropdown menu.
  • Click Apply and OK button.




New NAT Rule Hotspot IP Block
New NAT Rule Hotspot IP Block




Our Hotspot and DHCP Server IP block is now separated and we have plenty of IP addresses to assign new Hotspot user. If we wish we can setup more IP Blocks (following the above steps) for our Hotspot Server also.




How to separate Hotspot and DHCP server IP Block has been discussed in this article. I hope you will now be able to create new IP Block for your Hotspot Server. However, if you face any confusion, feel free to discuss in comment or contact me from Contact page. I will try my best to stay with you. 



2020-10-09T19:59:29
MikroTik Hotspot Tutorials & Guides

Можно ли сделать откат обновлений Windows?

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

Мы обсудим все три сценария один за другим.

  • Откатить основное обновление Windows
  • Откат сборки Windows Insider Preview
  • Удалите накопительные или незначительные обновления Windows

Действия по откату основного обновления Windows и Windows Insider одинаковы.

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

Откат основного обновления Windows (включая откат сборки Windows Insider)

Если вы недавно установили крупное обновление функций (скоро появится Windows 10 версии 20H2) и оно не работает в вашей системе, вы можете понизить или откатить обновление в течение первых 10 дней после установки.

Чтобы откатить обновление Windows:

  1. Откройте настройки Windows (клавиша Windows + i)
  2. Выберите Обновление и безопасность.
  3. В левом меню выберите Recovery.
  4. В разделе « Вернуться к предыдущей версии Windows 10» нажмите «Приступить к работе».

  5. Во всплывающем диалоговом окне выберите причину отката и нажмите Далее.

  6. В окне Проверить наличие обновлений нажмите Нет, спасибо.

  7. На следующем экране прочтите рекомендации и поймите последствия отката системы. Если у вас уже есть резервная копия необходимых данных, нажмите «Далее».

  8. На экране «Не блокировать» убедитесь, что у вас есть пароль на случай, если предыдущая сборка заблокирована паролем, а затем нажмите «Далее».

  9. На следующем экране нажмите Вернуться к предыдущей сборке.

  10. Теперь ваша система перезагрузится и начнет откат. Этот шаг может занять несколько минут.

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

Через 10 дней Windows удалит временную резервную копию последней сборки с системного диска. Если вы будете следовать приведенным выше инструкциям, вы получите следующую ошибку:

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

Поскольку этот метод может вернуть вас только к ранее установленной сборке, вы не можете вернуться к более старым сборкам/версиям. Для этого вам нужно будет полностью восстановить вашу систему или выполнить новую установку Windows.

Удалите незначительное или накопительное обновление Windows

Есть два способа удалить накопительное или незначительное обновление из Windows 10:

Использование настроек Windows

  1. Откройте настройки Windows (клавиша Windows + i)
  2. Выберите Обновление и безопасность.
  3. Выберите Центр обновления Windows на левой панели.
  4. На правой панели нажмите «Просмотр истории обновлений».
  5. Выберите Удалить обновления.
  6. Выберите обновление, которое вы хотите удалить, например, Обновление для Microsoft Windows (KB4578846),  и нажмите кнопку «Удалить».

Использование командной строки

  1. Откройте командную строку , введя cmd в Выполнить.
  2. Введите следующую команду:

    wmic qfe list brief /format:table
  3. Это покажет все обновления, установленные на компьютере. Убедитесь, что обновление, которое вы хотите удалить, есть в списке.
  4. Чтобы удалить обновление, выполните следующую команду

    wusa /uninstall /kb:4578846
  5. После удаления обновления перезагрузите компьютер.

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



2020-10-09T18:51:37
Вопросы читателей