Advanced

CLI Crawler

Ekberg, Martin and Jermakowicz, Oskar (2015)
Computer Science and Engineering (BSc)
Abstract
Many systems within the IT infrastructure have a Command Line Interface (CLI) for configuration changes. Some of these systems may expose a Configuration Management interface over a web service but this web service usually only exposes a fraction of the configuration possibilities in a CLI. Thus it would be of great help to investigate how a framework for automated CLI discovery can be developed, which is what this bachelor’s thesis is about. One objective of the bachelor’s thesis was to determine the best possible way to access the command structure of CLIs and to determine how a CLI discovery application can be developed. The other objective was to develop such a prototype. Such a CLI discovery application must support exporting the... (More)
Many systems within the IT infrastructure have a Command Line Interface (CLI) for configuration changes. Some of these systems may expose a Configuration Management interface over a web service but this web service usually only exposes a fraction of the configuration possibilities in a CLI. Thus it would be of great help to investigate how a framework for automated CLI discovery can be developed, which is what this bachelor’s thesis is about. One objective of the bachelor’s thesis was to determine the best possible way to access the command structure of CLIs and to determine how a CLI discovery application can be developed. The other objective was to develop such a prototype. Such a CLI discovery application must support exporting the result of the discovery process into a YANG model (a hierarchical modeling language for NETCONF) in the future. A prototype, CLI Crawler, was developed. CLI Crawler was designed to be as automated as possible, however during the discovery process user interaction is required in order to help CLI Crawler get past certain obstacles. Such an obstacle could be when a CLI requires a certain input that only the user has knowledge of. At first CLI Crawler connects to a remote system with the use of Secure Shell (SSH) or Terminal Network (Telnet). Thereafter the discovery process is started which traverses all of the possible commands, modes and attributes in a certain CLI. During such a discovery process the command structure is both being printed in real-time in the GUI as a hierarchical tree structure and added to a database which will be used for exporting the command structure as YANG in the future. CLI Crawler shows that it is possible to develop a framework for automated CLI discovery. However more work and research has to be done before CLI Crawler will become a viable way of discovering and representing a CLI’s command structure. For instance more CLIs have to be integrated with CLI Crawler in order to make them compatible with the discovery process. (Less)
Please use this url to cite or link to this publication:
author
Ekberg, Martin and Jermakowicz, Oskar
organization
year
type
M2 - Bachelor Degree
subject
keywords
command line interface, discovery, automation, yang, remote connection
language
English
id
7456143
alternative location
http://portal.ch.lu.se/Campus.NET/Services/Publication/Export.aspx?id=2861&type=doc
date added to LUP
2015-06-27 04:15:27
date last changed
2015-06-27 04:15:27
@misc{7456143,
  abstract     = {Many systems within the IT infrastructure have a Command Line Interface (CLI) for configuration changes. Some of these systems may expose a Configuration Management interface over a web service but this web service usually only exposes a fraction of the configuration possibilities in a CLI. Thus it would be of great help to investigate how a framework for automated CLI discovery can be developed, which is what this bachelor’s thesis is about. One objective of the bachelor’s thesis was to determine the best possible way to access the command structure of CLIs and to determine how a CLI discovery application can be developed. The other objective was to develop such a prototype. Such a CLI discovery application must support exporting the result of the discovery process into a YANG model (a hierarchical modeling language for NETCONF) in the future. A prototype, CLI Crawler, was developed. CLI Crawler was designed to be as automated as possible, however during the discovery process user interaction is required in order to help CLI Crawler get past certain obstacles. Such an obstacle could be when a CLI requires a certain input that only the user has knowledge of. At first CLI Crawler connects to a remote system with the use of Secure Shell (SSH) or Terminal Network (Telnet). Thereafter the discovery process is started which traverses all of the possible commands, modes and attributes in a certain CLI. During such a discovery process the command structure is both being printed in real-time in the GUI as a hierarchical tree structure and added to a database which will be used for exporting the command structure as YANG in the future. CLI Crawler shows that it is possible to develop a framework for automated CLI discovery. However more work and research has to be done before CLI Crawler will become a viable way of discovering and representing a CLI’s command structure. For instance more CLIs have to be integrated with CLI Crawler in order to make them compatible with the discovery process.},
  author       = {Ekberg, Martin and Jermakowicz, Oskar},
  keyword      = {command line interface,discovery,automation,yang,remote connection},
  language     = {eng},
  note         = {Student Paper},
  title        = {CLI Crawler},
  year         = {2015},
}