NCClient: A Python Library for NETCONF Client Applications

  • Shikhar Bhushan
  • Ha Manh Tran
  • Jürgen Schönwälder
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5843)


The NETCONF protocol provides sound mechanisms for configuring network devices. While support for the protocol has been implemented by several network device vendors, there is a lack of supporting tools and libraries for NETCONF client applications. This paper presents NCClient, an open source Python library providing features and facilities for scripting and application development. The architecture, design and interoperability testing of the library is described and some examples of its usage are provided.


configuration management NETCONF Python 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Enns, R.: NETCONF Configuration Protocol. RFC 4741 (December 2006)Google Scholar
  2. 2.
    Libes, D.: Expect: Curing Those Uncontrollable Fits of Interaction. In: Proc. Summer 1990 USENIX Conference, Anaheim, June 1990, pp. 11–15 (1990)Google Scholar
  3. 3.
    Schönwälder, J.: Overview of the 2002 IAB Network Management Workshop. RFC 3535 (May 2003)Google Scholar
  4. 4.
    Schönwälder, J., Björklund, M., Shafer, P.: Network Configuration Management using NETCONF and YANG. IEEE Communications Magazine (2009)Google Scholar
  5. 5.
    van Rossum, G., Drake, F.: The Python Language Reference Manual. Network Theory Limited (2003)Google Scholar
  6. 6.
    Ylonen, T., Lonvick, C.: The Secure Shell (SSH) Protocol Architecture. RFC 4251 (January 2006)Google Scholar
  7. 7.
    Wasserman, M., Goddard, T.: Using the NETCONF Configuration Protocol over Secure Shell (SSH). RFC 4742 (December 2006)Google Scholar
  8. 8.
    Chisholm, S., Trevino, H.: NETCONF Event Notifications. RFC 5277 (July 2008)Google Scholar
  9. 9.
    Paramiko - SSH2 Protocol for Python, (last access in May 2009)
  10. 10.
    Krejčí, R., Lhotka, L., Čeleda, P., Špringl, P.: Secure Remote Conguration of Network Devices - A Case Study. In: Proc. CESNET Conference 2008, Prague, Czech Republic, CESNET, September 2008, pp. 77–84 (2008)Google Scholar
  11. 11.
    Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., Warfield, A.: Xen and the Art of Virtualization. In: Proc.19th ACM Symposium on Operating Systems Principles (SOSP 2003), October 2003. ACM, New York (2003)Google Scholar
  12. 12.
    Lear, E., Crozier, K.: Using the NETCONF Protocol over the Blocks Extensible Exchange Protocol (BEEP). RFC 4744 (December 2006)Google Scholar
  13. 13.
    Goddard, T.: Using NETCONF over the Simple Object Access Protocol (SOAP). RFC 4743 (December 2006)Google Scholar
  14. 14.
    Badra, M.: NETCONF over Transport Layer Security (TLS). RFC 5539 (May 2009)Google Scholar
  15. 15.
    Cridlig, V., Abdelnur, H.J., Bourdellon, J., State, R.: A NetConf Network Management Suite: ENSUITE. In: Magedanz, T., Madeira, E.R.M., Dini, P. (eds.) IPOM 2005. LNCS, vol. 3751, pp. 152–161. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Tran, H.M., Tumar, I., Schönwälder, J.: NETCONF Interoperability Testing. In: Proc. 3rd International Conference on Autonomous Infrastructure, Management and Security (AIMS 2009), pp. 83–94. Springer, Heidelberg (2009)Google Scholar
  17. 17.
    NCClient - Python library for NETCONF clients, (last access in July 2009)

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Shikhar Bhushan
    • 1
  • Ha Manh Tran
    • 1
  • Jürgen Schönwälder
    • 1
  1. 1.Computer ScienceJacobs University BremenGermany

Personalised recommendations