Подтвердить что ты не робот

Ищет альтернативное решение, чем IPFW для замедления интернет-соединения

Мне нужно замедлить (имитировать плохое) подключение к Интернету, я нашел документацию, где она была достигнута командой "ipfw pipe", дело в том, что в последних версиях MAC OS ipfw устарел (и удалил)...

Мне было интересно, есть ли альтернатива ipfw API? Кто-нибудь знает, как достигается последний сетевой адаптер связи?

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

sudo ipfw pipe 1 config bw 56Kbit/s delay 200 plr 0.2

и очистить трубку:

sudo ipfw delete 1

Спасибо.

4b9b3361

Ответ 1

Я мало что знаю о Mac OS (я сам использую Linux), но я сделаю это.

Букет копания установил, что ipfw кажется недоступным, как вы говорите.

Мне также не удалось найти способ использования Network Link Conditioner из командной строки. Все должно быть использовано из командной строки, так что глупо.

Одна работа должна заключаться в попытке получить доступ к NLC изнутри AppleScript. Следующее приведет вас к переключению NLC:

property thePane : "com.apple.Network-Link-Conditioner"  
tell application "System Preferences"  
activate  
  set the current pane to pane id thePane  
--delay 2  
end tell  
---  
tell application "System Events"  
  tell application process "System Preferences"  
  try  
  click ((checkboxes of window "Network Link Conditioner") whose description is "enable switch")  
  on error  
  click ((checkboxes of window "Network Link Conditioner") whose description is "enable switch")  
  end try  
  end tell  
end tell  

Я думаю, что вы можете запустить script с терминала с помощью osascript <SCRIPT>.

В качестве альтернативы Charles Proxy - это платная программа, которая может использоваться для дросселирования, при условии, что вы можете убедить программное обеспечение вы тестируете подключение к прокси-порту, а не напрямую в Интернет. Может быть, там есть бесплатные прокси-решения?

Возможно, Squid будет работать в этом отношении. SquidMan кажется простым способом установить его для Mac. Похоже, что DelayPools и Пределы пропускной способности клиента может быть полезно для моделирования низкоскоростного соединения, хотя я не могу найти доказательства того, что люди использовали их для таких целей.

Ответ 2

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

Как имитировать медленные интернет-соединения на Mac

Apple сделала очень удобный официальный инструмент для замедления сетевых подключений на вашем Mac для тестирования.

Предпочтение Network Link Conditioner - бесплатная загрузка из Xcode (для Lion и более поздней ОС). Кроме того, iOS имеет аналогичную функцию, доступную из Xcode и iOS 6 или более поздних версий.

Как смоделировать плохое соединение Wi-Fi на моем iPad?

Есть несколько способов сделать это, в зависимости от вашей ситуации:

  • Двигайтесь дальше от своего маршрутизатора.. Хотя это может показаться немного очевидным, я понимаю, что это не всегда возможно при тестировании/отладке (например, если вы работаете над настольный компьютер).

  • Поместите алюминиевую фольгу вокруг маршрутизатора и/или антенны. Это (частично) блокирует некоторые или все радиосигналы, создавая импровизированную клетку Фарадея. Полученные вами результаты будут зависеть от силы вашего сигнала маршрутизатора, расстояния от маршрутизатора и других факторов окружающей среды.

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

Замедлить интернет для симулятора iOS

Вы можете настроить сеть на медленную характеристику путем тестирования на устройствах. Перейдите в Настройки → Настройки разработчика → Сетевой коммуникационный кондиционер → Включить. Это для iPhone/iPad под управлением iOS 6

Я не знаю, может ли быть последний из них.

Ответ 3

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

  • выполнение параллельной загрузки какого-либо массивного файла ISO Linux;
  • физически вытащить кабель Ethernet (в какой-то момент я на самом деле задумался о создании кнопочного устройства, которое будет сидеть между двумя кабелями cat5 и делать это без физического разъединения всего кабеля).
  • с помощью ifconfig eth0 down ; sleep 1 ; ifconfig eth0 up.

Надеюсь, один или несколько из этих методов помогут.

Ответ 4

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

Например, эмулятор AP2 TechNet mini2 позволяет изменять значения пропускной способности и потери пакетов. Вы также можете свернуть свое устройство, используя что-то вроде: http://wanem.sourceforge.net/. Это зависит только от ваших потребностей, времени и бюджета.