Архив рубрики: Networks

Как узнать и поменять значение MTU в Linux

Сегодня в статье поговорим Как узнать и поменять значение MTU в Linux/Ubuntu/Debian.




MTUmaximum transmission unit – максимальный размер пакет или фрейма в байтах, который может быть отправлен единовременно без фрагментации.




Узнать значение и поменять MTU в Linux




Узнать значение MTU для всех интерфейсов можно выполнив в консоли команду ip link




ip link | grep mtu




1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
10: eth0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000




Чаще всего встречается 1500 — это значение по умолчанию для Ethernet интерфейсов.




Поменять MTU на сервере с Ubuntu/Debian можно так:




sudo ip link set dev eth0 mtu 1400




или так для старых систем:




sudo ifconfig eth0 mtu 1400




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




Для постоянной смены MTU в Ubuntu




Открываем настройку сетевых интерфейсов:




sudo nano /etc/network/interfaces




К нужному адаптеру добавляем строчку со значением MTU. Вот пример настройки:




auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.5.5.2
netmask 255.255.255.0
gateway 10.5.5.1
mtu 1400




Перезапускаем сеть:




systemctl restart networking




Значение теперь будет применяться даже после перезагрузки.




Меняем значение MTU при помощи Netplan




Вот еще один пример как можно сменить значение MTU, но уже через утилиту Netplan на Ubuntu 18.04/20.04




network:
    ethernets:
        ens3:
            mtu: 1400
            addresses:
            - 198.18.12.15/24
            - 2a01:d0:c353:183::15/64
            dhcp4: false
            gateway4: 198.18.12.1
            gateway6: 2a01:d0:c353:183::1
            nameservers:
                addresses:
                - 198.18.12.3
                - 2a01:d0:c353:183::3
                search: []
    version: 2



[endtxt]




RSS



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


2020-05-28T08:33:30
Network

Настройка сети в Ubuntu Server 20.04 LTS

Сегодня в статье рассмотрим примеры по Настройки сети в Ubuntu Server 20.04 LTS. По сравнению с Ubuntu Server 16.04 LTS настройка осуществляется через утилиту Netplan.






NetPlan – это инструмент для управления настройками сети, представленный в Ubuntu начиная с версии 17.10 и выше.




Этот инструмент заменяет файл статических интерфейсов /etc/network/interfaces, который ранее использовался для настройки сетевых интерфейсов в Ubuntu. Теперь вы должны использовать /etc/netplan/*.yaml для ваших изменений в Ubuntu.




Новый файл конфигурации интерфейсов как вы поняли находится в каталоге /etc/netplan/*.yaml.
После чистой установки дистрибутива Ubuntu Server 20.04 в данной директории находится всего один файл. У меня он называется 50-cloud-init.yaml




Не забываем о синтаксисе данного файла. Табуляция не используется и количество пробелов должно быть одинаково для одноименных категорий.

Полезное.




Ещё стоит напомнить что для конфигурирования сети могут быть использованы рендера – NetworkManager и networkd.




NetworkManager в основном используется на настольных компьютерах, а networkd в серверных дистрибутивах, хотя никто не мешает использовать их и в обратном порядке.




При использовании NetworkManager в качестве средства визуализации для управления интерфейсами будет использоваться графический интерфейс NetworkManager.




Настройка сети в Ubuntu Server 20.04




Есть два пути настройки сетевых интерфейсов:




  1. Получение IP адресов при помощи DHCP – автоматическая настройка
  2. Настройка статических IP адресов




Если вы используете какой либо маршрутизатор, то идем по первому пути. Но сначала давайте определимся с именами интерфейсов в нашей системе. Для этого воспользуемся командой ifconfig.




Да, на чистой системе данная утилита не установлена по умолчанию. Её необходимо будет установить. Ну или можно воспользоваться командой ip. Я же человек старых правил ))), мне все-таки по душе утилита ifconfig поэтому набираем:




sudo ifconfig -a




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




enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 14:d6:4d:56:b8:5a  txqueuelen 1000  (Ethernet)
        RX packets 2087766  bytes 2768743733 (2.7 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1996135  bytes 201457120 (201.4 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 10:78:d2:76:39:b3  txqueuelen 1000  (Ethernet)
        RX packets 10585  bytes 2371990 (2.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16067  bytes 18280327 (18.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 10:78:d2:76:39:b3  txqueuelen 1000  (Ethernet)
        RX packets 87766  bytes 68743733 (12.7 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 13819  bytes 12743733 (12.5 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 242  bytes 35780 (35.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 242  bytes 35780 (35.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0




Как видим из вывода имеются три сетевых интерфейса: enp0s3; enp0s8; enp0s9.




Интерфейс enp0s3 выступает в качестве WAN интерфейса для системы. Остальные два enp0s8 и enp0s9 подключены к двум локальным сетям. В дальнейшем мы их объединим в сетевой мост.




Статья по настройке сетевого моста на Ubuntu Server 18.04  LTS




Настройка сети в Ubuntu Server используя автоматическую настройку по DHCP.




И так с интерфейсами определились, давайте теперь настроим наш интерфейс, который смотрит в инет, на получение автоматических настроек сети по DHCP




Открываем файл настроек Netplan




sudo nano /etc/netplan/*.yaml




Файл должен выглядеть следующим образом (если не так, то редактируем):




network:
  ethernets:
     enp0s3:
         dhcp4: true
         dhcp6: true
         optional: true
  version: 2




Далее применим изменения:




sudo netplan try




Если в синтаксисе нет ошибок, то изменения применятся через 120 секунд, ну или сразу если Вы нажмёте Enter




Настройка сети в Ubuntu Server используя статические маршруты.




Если Вы пошли вторым путем и хотите настроить все IP адреса сами, то вот пример для настройки статических адресов:




network:
  ethernets:
     enp0s3:
         addresses: [ 10.5.5.1/24, 'fe00:a:b:100::1/64']
         gateway4: 10.5.1.1
         nameservers: 
            addresses: [10.5.5.1, 'fe00:a:b:100::1']
            search:
            - lan
         optional: true
  version: 2




  • addresses – это ip адрес который будет назначен вашей сетевой карте.
  • gateway4 – ip адрес вашего роутера
  • nameservers – тут перечисляются DNS сервера. Первый опять же наш роутер.
  • search – тут указываем домен в котором будет произведен поиск. Домен можно настроить при помощи DNS сервера




Далее сохраняем изменения:




sudo netplan try




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




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




ping 8.8.8.8




  • 8.8.8.8 – ip адрес dns сервера google.




ping 10.5.5.2




10.5.5.2 – ip адрес ПК из вашей сети.




nslookup ya.ru




Server:		127.0.0.53
Address:	127.0.0.53#53
Non-authoritative answer:
Name:	ya.ru
Address: 87.250.250.242
Name:	ya.ru
Address: 2a02:6b8::2:242




Как видим на запрос ответил systemd-resolver 127.0.0.53. Если у Вас настроен собственный DNS сервер и вы хотите его установить по умолчанию для сервера DHCP, то потребуется отредактировать файл настройки systemd-resolver.




Также можем еще посмотреть вывод команды:




systemd-resolve --status




Global
       LLMNR setting: no                  
MulticastDNS setting: no                  
  DNSOverTLS setting: no                  
      DNSSEC setting: no                  
    DNSSEC supported: no                  
          DNSSEC NTA: 10.in-addr.arpa     
                      16.172.in-addr.arpa 
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa 
                      18.172.in-addr.arpa 
                      19.172.in-addr.arpa 
                      20.172.in-addr.arpa 
                      21.172.in-addr.arpa 
                      22.172.in-addr.arpa 
                      23.172.in-addr.arpa 
                      24.172.in-addr.arpa 
                      25.172.in-addr.arpa 
                      26.172.in-addr.arpa 
                      27.172.in-addr.arpa 
                      28.172.in-addr.arpa 
                      29.172.in-addr.arpa 
                      30.172.in-addr.arpa 
                      31.172.in-addr.arpa 
                      corp                
                      d.f.ip6.arpa        
                      home                
                      internal            
                      intranet            
                      lan                 
                      local               
                      private             
                      test                
Link 22 (enp0s3)
      Current Scopes: DNS     
DefaultRoute setting: yes     
       LLMNR setting: yes     
MulticastDNS setting: no      
  DNSOverTLS setting: no      
      DNSSEC setting: no      
    DNSSEC supported: no      
  Current DNS Server: 10.5.5.1
         DNS Servers: 10.5.5.1
          DNS Domain: dom 




Из данного вывода DNS указан для нашего сетевого интерфейса enp0s3 его же IP адрес.




Но глобальная переменная DNS является 127.0.0.53.




Для изменения глобальной переменной необходимо проделать следующие действия:




  1. откройте и отредактируйте следующий файл:




sudo nano /etc/systemd/resolved.conf




[Resolve]
DNS=10.5.5.1
...




Примените изменения:




sudo systemctl restart systemd-resolved.service




Посмотрим еще раз на глобальные переменные DNS




sudo systemd-resolve --status




Global
       LLMNR setting: no                  
MulticastDNS setting: no                  
  DNSOverTLS setting: no                  
      DNSSEC setting: no                  
    DNSSEC supported: no                  
         DNS Servers: 10.5.5.1            
          DNSSEC NTA: 10.in-addr.arpa   
.....




Из вывода видно что наш DNS изменился на 10.5.5.1.




Если воспользуемся командой nslookup, то вывод также покажет что dns сервер 127.0.0.53. Для изменения необходим пакет resolvconf




  1. Устанавливаем resolvconf




sudo apt install resolvconf




Открываем файл и вносим изменения:




nano /etc/resolvconf/resolv.conf.d/head




# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 10.5.5.1




Применим наши изменения




sudo resolvconf -u




Теперь вывод nslookup покажет наш DNS сервер




nslookup ya.ru
Server:		10.5.5.1
Address:	10.5.5.1#53
Non-authoritative answer:
Name:	ya.ru
Address: 87.250.250.242
Name:	ya.ru
Address: 2a02:6b8::2:242




На этом Настройка сети в Ubuntu Server 20.04 LTS закончена.



[endtxt]




RSS




2020-05-22T08:39:05
Network

Что такое атака «человек посередине»?

Атака «человек посередине» (MITM) происходит, когда кто-то сидит между двумя компьютерами (например, ноутбуком и удаленным сервером) и перехватывает трафик. Этот человек может подслушивать или даже перехватывать связь между двумя машинами и красть информацию.

Атаки «человек посередине» — серьезная проблема безопасности. Вот что вам нужно знать и как себя защитить.

Двое — компания, трое — толпа

«Красота» (из-за отсутствия лучшего слова) атак MITM заключается в том, что злоумышленнику не обязательно иметь доступ к вашему компьютеру, физически или удаленно. Он или она может просто сидеть в той же сети, что и вы, и тихо отбирать данные. MITM может даже создать свою собственную сеть и заставить вас использовать ее.

Самый очевидный способ сделать это — сидеть в незашифрованной  общедоступной сети Wi-Fi , например, в аэропортах или кафе. Злоумышленник может войти в систему и с помощью бесплатного инструмента, такого как Wireshark , перехватить все пакеты, отправленные между сетями. Затем он или она может проанализировать и определить потенциально полезную информацию.

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

Тем не менее, HTTPS один не серебряная пуля. Есть обходные пути, которые злоумышленник может использовать для его аннулирования.

Используя MITM, злоумышленник может попытаться заставить компьютер «понизить» уровень соединения с зашифрованного до незашифрованного. Затем он или она может проверить трафик между двумя компьютерами.

Также может произойти атака «разбор SSL», когда человек сидит между зашифрованным соединением. Затем он или она фиксирует и потенциально изменяет трафик, а затем передает его ничего не подозревающему человеку.

Сетевые атаки и мошеннические беспроводные маршрутизаторы

MITM-атаки также происходят на уровне сети. Один из подходов называется ARP Cache Poisoning, при котором злоумышленник пытается связать свой MAC-адрес (аппаратный) с чужим IP-адресом. В случае успеха все данные, предназначенные для жертвы, передаются злоумышленнику.

DNS-спуфинг — это аналогичный тип атаки. DNS — это «телефонная книга» Интернета. Он связывает понятные человеку доменные имена, такие как google.com, с числовыми IP-адресами. Используя этот метод, злоумышленник может перенаправить законные запросы на поддельный сайт, которым он или она управляет, а затем перехватить данные или внедрить вредоносное ПО.

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

В подавляющем большинстве люди слишком доверяют, когда дело доходит до подключения к публичным точкам доступа Wi-Fi. Они видят слова «бесплатный Wi-Fi» и не задумываются о том, может ли за этим стоять гнусный хакер. Это было неоднократно доказано с комическим эффектом, когда люди не читают условия в некоторых горячих точках. Например, некоторые требуют, чтобы люди убирали грязные фестивальные уборные или бросали своего первенца.

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

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

Вредоносные программы и атаки типа «человек посередине»

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

Атака «человек в браузере» (MITB) происходит, когда веб-браузер заражен вредоносной защитой. Иногда это делается с помощью фальшивого расширения, которое дает злоумышленнику практически беспрепятственный доступ.

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

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

Как защитить себя

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

В противном случае VPN будет шифровать весь трафик между вашим компьютером и внешним миром, защищая вас от атак MITM. Конечно, здесь ваша безопасность настолько же хороша, насколько и поставщик VPN, который вы используете, поэтому выбирайте осторожно. Иногда стоит заплатить немного больше за услугу, которой вы можете доверять. Если ваш работодатель предлагает вам VPN во время вашего путешествия, вы обязательно должны его использовать.

Чтобы обезопасить себя от вредоносных MITM-атак (таких как «человек в браузере»), соблюдайте  правила безопасности . Не устанавливайте приложения или  расширения браузера из схематичных мест. Выйдите из сеансов веб-сайта, когда вы закончите с тем, что вы делаете, и установите надежную антивирусную программу.

https://www.youtube.com/watch?v=640MpYNE-xM



2020-05-13T18:11:34
Вопросы читателей

Киберпреступность вошла в топ-5 риска для сообществ во всем мире

В начале 2020 года Всемирный экономический форум (ВЭФ) опубликовал свой ежегодный доклад о глобальных рисках, в котором освещаются события, тенденции и события, которые могут привести к серьезным нарушениям в жизни общества во всем мире. В разгар всемирной пандемии отчет более актуален, чем когда-либо. Кибератаки на инфраструктуру, разрушение природных экосистем, экстремальные тепловые волны, политическая поляризация и экономические конфронтации оцениваются в топ-5 краткосрочных глобальных рисков в отчете.

 

Почему киберпреступность занимает столь высокое место как глобальный риск?

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

По оценкам WEF, киберпреступность приносит около 6 триллионов долларов годового дохода. Такие корпорации, как Facebook, Microsoft, Apple, Amazon, Walmart и Tesla, получают совокупный годовой доход в размере 1,28 триллиона долларов США. В 2019 году одна из крупнейших (легальных) отраслей в мире — туризм и путешествия — принесла 9,25 триллиона долларов.

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

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

 

Почему эксперты по безопасности постоянно предупреждают нас о «умном доме» и «умных персональных устройствах» (IoT)?

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

Тревожная информация в отчете WEF состоит в том, что, например, в США только 0,05% киберпреступников привлечено к суду. Это не из-за молодых хакеров, которые прячутся в студенческих общежитиях и в гаражах своих родителей, а в киберпреступности — высокоорганизованном профессиональном глобальном бизнесе.

Умные домашние устройства, такие как голосовые помощники, дверные камеры, системы освещения, подключенные к Интернету (часто обозначаемые как «Интернет вещей», или устройства IoT) и умные персональные устройства, такие как умные часы или устройства отслеживания активности, занимают высокое место в списках преступников. Они пытаются похитить (не осознавая, что владелец) как можно больше интеллектуальных устройств, и установить на них часть программного обеспечения, которая может принимать заказы от центра атаки. Когда наступит подходящее время, угнанным устройствам будет приказано атаковать банк, правительственную организацию, интернет-магазин или любого другого преступника, считающего прибыльной целью.

 

Что означает высокий риск киберпреступности для частных лиц, предприятий и организаций?

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

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

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



2020-05-11T17:45:06
Сети

5 ключевых HTTP-заголовков для веб-скрейпинга

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

 

Заголовки HTTP для скрейпинга веб-страниц

  • User-Agent
  • Accept-Language
  • Accept-Encoding
  • Accept
  • Referer

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

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

В этой статье мы расскажем о 5 наиболее важных HTTP-заголовках, которые необходимо использовать и оптимизировать, и предоставим вам обоснование этого.

Заголовки HTTP позволяют клиенту и серверу передавать дополнительную информацию в запросе или ответе.

 

1. User-Agent

Заголовок запроса User-Agent передает информацию, связанную с идентификацией типа приложения, операционной системы, программного обеспечения и его версии, и позволяет целевому объекту данных решить, какой тип HTML-макета использовать в ответе, например, мобильный телефон, планшет или ПК.




User-AgentMozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5)

AppleWebKit/605.1.15 (KHTML, like Gecko)

Version/12.1.1 Safari/605.1.15

 

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

2. Accept-Language

Заголовок запроса Accept-Language передает информацию, указывающую веб-серверу, какие языки понимает клиент, и какой конкретный язык предпочтителен, когда веб-сервер отправляет ответ обратно.




Accept-Languageen-gb

 

Тем не менее, ключ с заголовком запроса Accept-Language является релевантным. Важно убедиться, что установленные языки соответствуют целевому домену данных и IP-адресу клиента. Просто потому, что, если запросы от одного и того же клиента будут появляться на нескольких языках, это вызовет подозрения у веб-сервера в поведении, подобном ботам (неорганический подход к запросу), и, следовательно, они могут заблокировать процесс очистки веб-страниц. Стоит отметить, что этот конкретный заголовок обычно вступает в игру, когда веб-серверы не могут определить предпочтительный язык, например, через URL.

3. Accept-Encoding

Заголовок запроса Accept-Encoding уведомляет веб-сервер, какой алгоритм сжатия использовать при обработке запроса. Другими словами, в нем говорится, что требуемая информация может быть сжата (если веб-сервер может ее обработать) при отправке с веб-сервера клиенту.




Accept-Encodingbr, gzip, deflate

 

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

 

4. Accept

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




Accepttest/html,application/xhtml+xml,application/x

ml;q=0.9,*/*;q=0.8

 

Это так просто, как кажется, но распространенный сбой с очисткой веб-страниц игнорирует или забывает настроить заголовок запроса в соответствии с принятым форматом веб-сервера. Если заголовок запроса «Accept» настроен надлежащим образом, это приведет к более органичному взаимодействию между клиентом и сервером и, следовательно, уменьшит шансы блокировки веб-скрейпинга.

 

5. Referer

Заголовок запроса Referer содержит адрес предыдущей веб-страницы перед отправкой запроса на веб-сервер.




Refererhttp://www.google.com/

 

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

 

Завершение

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

Можно с уверенностью сказать, что чем больше вы знаете о технической стороне веб-скребка, тем более плодотворными будут ваши результаты. Используйте эти знания с умом, и, безусловно, ваш веб-скребок будет работать более эффективно и результативно.



2020-05-10T12:13:01
Сети

Будущее балансировки нагрузки зависит от данных

Облачные нативные приложения создаются на хорошем уровне. Хотя они еще не совсем доминируют в портфелях приложений, их количество растет. Интерес к контейнерам тесно связан с облачной архитектурой (на основе микросервисов) из-за внутренней зависимости для инфраструктуры связи и масштаба.

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

Рассматриваемый балансировщик нагрузки часто является компонентом оркестратора контейнеров и по умолчанию использует стандартный алгоритм циклического алгоритма на основе TCP. Это означает, что приходит запрос, и балансировщик нагрузки выбирает для ответа ресурс «следующий в очереди».

Этот метод часто аналогичен линии в банке или DMV. Но это не совсем точно. В истинном циклическом сценарии вы не перенаправлены на «следующий доступный» ресурс. Вы будете перенаправлены на ресурс «следующий в очереди», даже если этот ресурс занят. По иронии судьбы, методы распределения в DMV и вашем местном банке более эффективны, чем настоящий алгоритм циклического перебора.

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

И вот где Round Robin ломается и вносит изменения, которые могут повлиять на производительность. Операционная аксиома № 2 по-прежнему применяется к облачным архитектурам и архитектурам на основе микросервисов: при увеличении нагрузки снижается производительность .

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

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

 

Будущее балансировки нагрузки

Некоторые могут подумать, что когда мы поднимемся по стеку TCP с HTTP на HTTP +, эта проблема решится сама собой. Это совсем не так. Метод распределения — алгоритм балансировки нагрузки — по-прежнему актуален независимо от уровня, на котором вы его основываете. Round Robin не заботится об архитектуре, он заботится о ресурсах и принимает решения на основе доступного пула. Независимо от того, предназначен ли этот пул для масштабирования одного вызова API или всего монолита, алгоритм не имеет значения.

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

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

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

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



2020-05-03T14:47:21
Сети