Intel Simics simulator is a full system simulator, which can also simulate a network of machines. It includes a feature called the service node which acts like a separate machine on the simulated network, with its own IP address. The service node can expose common useful network services, such as DHCP, DNS, NTP as well as an FTP server that facilitates connecting to the host system and transfer files.
Here is an example of transferring the agent to the target machine over FTP.
Follow the preparation steps to launch the simulator and reach prompt in the target machine.
Start the simulation
simics> run
running>
Notice that the service node and the target machine is set up in the service node DNS. The IP and MAC addresses are internal to the simulated network.
running> service_node.sn.list-host-info
┌───────────┬───────────────────┬─────────────────┐
│ IP │ name.domain │ MAC │
├───────────┼───────────────────┼─────────────────┤
│10.10.0.1 │simics0.network.sim│20:20:20:20:20:00│
│10.10.0.100│board.network.sim │00:17:a0:00:00:00│
└───────────┴───────────────────┴─────────────────┘
From the target console, we can also verify that the DNS is working by querying the service node IP.
# host simics0
simics0.network.sim has address 10.10.0.1
Now we can set up the service node FTP server by specifying its root directory on the host.
running> $img_dir = "%simics%/targets/common/images"
running> service_node.set-ftp-directory dir = $img_dir
Now we can run an FTP client on the target to copy the agent to the target machine, and unpack it.
# lftpget ftp://simics0/simics_agent_binaries.zip
# unzip -q simics_agent_binaries.zip
# ls ./simics_agent_x86_linux64
./simics_agent_x86_linux64
With the agent now running on the target machine, we can now proceed as in the earlier section if we want to transfer other files.