From: Jeremy Spewock <jspew...@iol.unh.edu>

This series implements a new way to handle scapy interactions by using
an interactive shell for managing the session instead of an XML-RPC
server.

One thing to note about these changes while reviewing is that I made the
choice to use a Python interactive terminal and import the Scapy
library instead of using a Scapy interactive shell directly. This choice
was made because of inconsistencies in output that were encountered
while using the Scapy shell due to its use of IPython for its
interactive management. The pseudo-terminal used by paramiko does not
support Cursor Placement Requests (CPR) which are required when using
IPython. This does not limit functionality when compared to our previous
implementation because we were only using the Scapy libraries from
within Python in the previous implementation as well.

Jeremy Spewock (2):
  dts: Add interactive shell for managing Scapy
  dts: Remove XML-RPC server for Scapy TG and instead us ScapyShell

 dts/framework/remote_session/__init__.py      |   1 +
 dts/framework/remote_session/scapy_shell.py   | 175 +++++++++++
 .../testbed_model/traffic_generator/scapy.py  | 284 +-----------------
 dts/framework/utils.py                        |   1 +
 4 files changed, 191 insertions(+), 270 deletions(-)
 create mode 100644 dts/framework/remote_session/scapy_shell.py

-- 
2.45.1

Reply via email to