The SoftPerfect Connection Emulator (SCE) software is aimed for network application developers, system administrators and IT professionals. Software developers creating network-enabled applications, especially those time-critical such as VoIP software or real time protocols, need to test their products thoroughly in a range of environments. Apparently most applications work well on broadband connections, but what if you need to test your application on a low-speed communication link such as ISDN or dial-up?
This is where SCE comes in handy. It imitates a network connection with a low bandwidth limit, delays, losses and other problems. Using SCE you can test how well your application performs on a slow or long distance connection to ensure the quality of the product being developed. SCE runs on any PC with Windows XP or higher, allowing you to selectively apply bandwidth limits and simulate packet traversal issues to mimic a low-grade communication channel.
This product is available as an unlimited duration trial, however maximum simulation session is limited to 30 seconds. Purchasing a licence will remove this limitation and allow to run lengthy simulations. We also appreciate any feedback on this product to make sure it meets your needs.
- Runs on any PC with Windows XP or higher (32-bit and 64-bit)
- Restricts connection speed
- Applies fixed or variable latency
- Simulates packet loss, duplication and reordering
- Supports multiple simulation profiles
END USER LICENCE AGREEMENT (EULA)
Copyright in this software and included documentation belongs to SoftPerfect. All rights are reserved. The software may be used, installed or copied only in accordance with the terms of the licence described in the following paragraphs.
The evaluation version of the software may be freely distributed provided that the original distribution package is not modified in any way.
This is not free software. You are hereby licensed to use this software for evaluation purposes without a charge as long as you consider appropriate. The evaluation version may have some features limited or disabled. To use the software without these restrictions you need to purchase a licence.
GRANT OF LICENCE
The software is licensed, not sold. Upon purchase of a licence, SoftPerfect grants you non-exclusive, non-transferable rights to use the software and all its features according to the terms of this EULA. One licence grants the purchaser, or agents of the purchaser, rights to install and use the software on one computer only. In order to use the software on several computers simultaneously, the purchaser must acquire several licences or a site licence.
A site licence grants an organisation, or agents of an organisation, rights to install and use the software on an unlimited number of computers within one organisation site, including any cloud-based installation and use performed from that site. For the purposes of this EULA an organisation site is defined as a location, or group of locations, used by the organisation which are all within 100 miles (160 kilometres) of each other.
DISTRIBUTION OF LICENCE KEYS
Except for the specific purposes described in the GRANT OF LICENCE section of this EULA, licence keys issued by SoftPerfect may not be distributed by any person or organisation or their agents without written permission from the copyright holder.
THIS PRODUCT IS DISTRIBUTED “AS IS”. NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE THIS SOFTWARE AT YOUR OWN RISK. NEITHER THE AUTHOR NOR AGENTS OF THE AUTHOR WILL BE LIABLE FOR DATA LOSS, DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS INCURRED DIRECTLY OR INDIRECTLY WHILE USING OR MISUSING THIS SOFTWARE.
Unauthorised modification, decompilation or reverse engineering of the software or any subset of the software without written permission from the copyright holder is strictly prohibited.
TERMS OF ACCEPTANCE
Installation or use of this program signifies acceptance of the terms and conditions of the licence. If you do not agree with them you must remove the software from your computer(s). SoftPerfect reserves all rights not expressly granted here.
The main window features three tabs, the toolbar, the main menu, an interface combo box and additional controls:
Load Profile reads the configuration from an XML file previously created with the Save Profile command. The profiles are useful if you have got multiple simulation configurations each having specific settings. The Setup Filter button opens filter configuration. Unless you define a filter, the speed limit and other simulation settings apply to all packets traveling through the selected network connection. The filter allows you to apply the simulation settings to one or more IP connections, while letting all other traffic flow unrestrictedly. The Options button provides access to several user preferences that you may want to adjust.
On the Transfer Rate tab you can specify a speed limit choosing among a few predefined items or define your own. A Traffic Direction, i.e. incoming or outgoing traffic flow that simulation affects can also be set here.
On the Latency tab you can specify whether you need latency or a delay to be applied to packets. Note that if you choose to process traffic in both directions, the latency will apply twice on a duplex connection, first when the packet comes out, second when a reply comes back in:
On the Packet Loss tab you can specify what percentage or number of packets will be lost in transit. Technically, these packets are simply dropped upon receiving or sending out:
On the Duplication tab you can specify whether any packets will be duplicated upon receiving or sending out. The software merely sends out a duplicate packet twice whether to the remote computer or to the local TCP/IP stack:
On the Reordering tab you can specify what percentage of packets will be transmitted in a wrong order:
The emulator will take a packet out of the flow, then normally pass the number of packets specified as the Gap, and then insert the packet previously taken out. For example, if the gap is set to 2, the flow consists of packets A, B, C, D, E and F, and packet B was chosen as a victim, they would arrive in this order: A, C, D, B, E, F.
On the Capture tab you can setup logging packets to a Libpcap file for further analysis:
Setting up a filter
In order to restrict the simulation to a specific IP stream, you can define a filter. The filter compares the protocol field, the source and destination address fields in IP packets as well as source and destination ports in TCP/UDP packets to decide pass a packet or process it. Both IP protocol versions 4 and 6 are supported:
If you are running one or more virtual local area networks, you can also restrict the simulation to a particular VLAN:
Sometimes you may need the emulator to be installed between two non-Windows network devices. In this scenario you can use the bridging feature built in to the application. To access this feature choose Tools - Bridging from the main menu:
The adapters in the bridge need to be real physical adapters (NICs) hooked up to other network hardware as shown below:
When an emulation session is in progress, SCE will be forwarding all packets arriving to the first NIC to the second NIC and vice versa. The bridge itself will be able to communicate with either side, provided its IP configuration is correct.
SCE can display all currently established TCP connections. Choose View - Display Connections to show/hide this view. You can terminate some or all connections to stress test your application or device using the popup menu:
For convenience SCE comes with a few predefined sets of speed limits, latency and losses. These are different from profiles and are simple sets of connection parameters that represent real-world devices. For example, a 3G data connection in case of a weak signal would likely offer reduced speeds and a packet loss. If you are required to test your application or device in these conditions, you can either fine-tune everything manually, or choose one of these presets:
SCE supports the following command-line parameters:
consim.exe [/runtime:120] [config_file.xml]
If SCE is launched with a XML-file specified, it will load the specified configuration profile and begin emulation automatically.
If the /runtime switch followed by a number of seconds is present, emulation will run for the specified number of seconds and then the application will terminate.