題:
如何在Mac上模擬慢速互聯網連接
aneuryzm
2011-09-03 22:02:48 UTC
view on stackexchange narkive permalink

有什麼好的軟件解決方案可以減慢Mac上用於測試和模擬的Internet連接?

我的主要需求是在iPhone / iOS模擬器中測試代碼時,因此會減慢特定應用程序的連接速度或過程會很棒。

八 答案:
bmike
2011-09-04 00:06:36 UTC
view on stackexchange narkive permalink

Apple提供了非常方便的官方工具來降低Mac上的網絡連接速度,以進行測試。

Network Link Conditioner 首選項可從Xcode中免費下載。 (適用於Lion和更高版本的操作系統)。此外,iOS具有可從Xcode和iOS 6或更高版本訪問的類似功能。

enter image description here

嵌入式4.3.2之前的 Xcode的舊版本。此工具的副本。現在,您使用 Xcode直接下載,其方式類似於iOS模擬器和開發人員文檔。

從a內置11種配置文件有損Edge網絡,到電纜調製解調器的延遲為400ms。如果您需要其他限制,則可以使用自己的設置來創建自定義配置文件,也可以按照 Craig Hockenberry文章慢行,中所述使用自己的 ipfw ,輕鬆還提到了 Mike Schrag Speed Limit面板,該面板的下載量比Xcode小,但選項比Apple工具少。

它會減慢整個網絡堆棧的速度,因此您不能在不執行每個應用程序的情況下進行限制,而無需在虛擬機中安裝lion並使用限制的堆棧來設置該VM。

:O我什至擁有Xcode,對此一無所知
完成測試後,請務必將其關閉!
說明:您實際上必須從Apple下載硬件IO工具。請參閱[安裝Apples網絡鏈接調節器工具](http://stackoverflow.com/questions/9659382/installing-apples-network-link-conditioner-tool)
下文提到的限速效果非常好**。我現在將其用於MAMP上的localhost:8888。
絕對荒謬的問題,但這可用於雪豹嗎?我沒有在XCode中看到相同的菜單,無法下載... *感覺很不完整* :(
@longda-如果可以從蘋果開發人員處獲得歷史下載的性質的舊版本的Xcode,則OS 10.6上的大多數硬件上都應該可以使用
另請注意,iOS 6具有用於在設備上進行測試的網絡鏈接調節器。通過“網絡鏈接調節器”部分下的“設置”->“開發者”訪問它。
現在,通過撥號,我可以體驗到《星際爭霸II》的模擬效果!多人遊戲的滯後使我相信這是普遍現象。
似乎不適用於本地主機類型的流量。我看到有人報告說將localhost:8888與MAMP一起使用時可以工作,但是我通過端口8888連接到Windows VM。
現在,在“ XCode的其他工具”下
不適用於Mojave 10.14.3 *至少對我而言*
請注意,網絡鏈接調節器工具基本上只是一個GUI,可通過其nlcd守護程序控制dnctl / ipfw虛擬網絡規則(請參閱:http://newosxbook.com/bonus/vol1ch16.html)
這似乎不適用於localhost / 127.0.0.1連接。
gentmatt
2012-03-28 11:10:03 UTC
view on stackexchange narkive permalink

OS X 10.9和更早版本提供了 ipfw ,它允許您定義自定義防火牆規則。使用 ipfw 創建一個帶寬有限的管道,您可以運行測試和模擬。

  1. 創建一個管道“ 1”通過

      sudo ipfw pipe 1 config bw 500KByte / s  
  2. 限制端口80的所有網絡流量為500KBytes / s使用

      sudo ipfw通過管道“ 1”添加1個管道1 src-port 80  
  3. 當您不需要時管道,再使用

      sudo ipfw delete 1  
  4. ol>

    Other

  • 如果要設置更高的流量限制,則可以使用 MByte / s
  • 端口 80 :未加密的的標準端口http 流量。此端口用於大多數瀏覽和下載。
  • 端口 443 :用於SSL加密的 https 通信量的標準端口。
10.9後的情況如何,我們用什麼代替ipfw?
Randy6T9
2011-09-04 00:11:40 UTC
view on stackexchange narkive permalink

“速度限制”是“系統偏好設置”窗格,用於有意有選擇地降低特定端口和域的速度。

限速的來源現在似乎尚未維護,但[可在此處獲得](https://github.com/mschrag/speedlimit),並且在[此處]具有更最新的分叉(https:// github.com / chico-depressive / speedlimit),儘管我還沒有測試過
Roger Dueck
2013-12-17 23:23:40 UTC
view on stackexchange narkive permalink

要添加到已接受的答案中:您似乎不需要XCode,只需在Apple Developer網站上創建一個帳戶即可。(比起先下載2GB XCode軟件包(如果您還沒有的話,更簡單)。 >

轉到 https://developer.apple.com/downloads並蒐索“網絡鏈接調節器”或“ XCode的其他工具”,後者是找到的軟件包的名稱

通過Xcode 8.x下載。

  • 單擊Xcode菜單
  • 轉到“打開開發人員工具”>“更多開發人員工具”。 ..
  • 這將在developer.apple.com上打開一個頁面(注意:您可能需要先登錄)
  • 單擊“其他工具”旁邊的“ +”號Xcode 8.x
  • 單擊下載URL
ubershmekel
2018-07-18 12:48:03 UTC
view on stackexchange narkive permalink

Mac OS X 10.10+用戶需要使用 dnctl pfctl ,但是很難找到記錄在案的用法示例。

 #配置`pfctl`使用`customRule`。
(cat /etc/pf.conf &&迴聲“ dummynet-anchor \” customRule \“” &&迴聲“ anchor \” customRule \“”)|須藤pfctl -f-

#定義“ customRule”以將流量通過管道傳遞到“管道1”。
#請注意,這是實際的端口定義,而不是文本註釋
迴聲“ dummynet在快速原型tcp中從任何到任何端口443管道1” |須藤pfctl -a customRule -f-

#定義“管道1”應如何處理
sudo dnctl管道1配置延遲10000
sudo dnctl管道1配置bw 10Kbit / s

#完成操作後,請勿忘記撤消這些操作
sudo dnctl -q刷新
須藤pfctl -f /etc/pf.conf
 

如果您想全力以赴地塑造可以使用的所有東西,則可以使用:

  echo“從任何管道到任何管道1的快速原型TCP中的虛擬網絡” |須藤pfctl -a customRule -f-
 

我相信這也會影響localhost管道,這會減慢我的vs代碼調試速度,因此請注意。

我需要先運行sudo pfctl -E來啟用pfctl。我還確保在“系統偏好設置”>“安全性和隱私”>“防火牆”中啟用了防火牆,但是我不確定是否有必要。
Kiezpro
2011-09-03 22:38:12 UTC
view on stackexchange narkive permalink

如果只需要進行Web開發,我可以全力推薦 Charles。無論如何,它都是調試HTTP應用程序的出色工具,並且在眾多功能中,它還有Throttle選項。該軟件並不便宜,但是卻做得很好。

daviesgeek
2011-09-07 21:46:23 UTC
view on stackexchange narkive permalink

您還可以使用ipfw管道來降低網絡速度。

首先,設置虛擬“管道”以將吞吐量限制為800KBit / sec:

  ipfw管道1 config bw 800Kbit  

然後,您可以設置規則以通過該管道(管道1)推送流量。 (端口6881-6890是Bittorrent通信量)

  ipfw從任意一個向我添加10個管道1 tcp 6881-6890ipfw從任意一個6881-6890向我添加11個管道1 tcp  

這是另一個將流量從特定IP地址限製到10Kbit / sec的示例:

  ipfw pipe 2 config bw 10Kbitipfw從我這裡增加15 pipe 2 ip到64.81.84.114  

(源) sub> sup>

ipfw已在OSX 10.10中刪除
Kiran Jasvanee
2019-04-17 14:51:48 UTC
view on stackexchange narkive permalink

對於XCode 10.2,在“更多開發者工具-XCode 10.2的其他工具”中,您將找到Network Link Conditioner。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...