Obtaining the Python Source Code

APPENDIX A

Obtaining the Python Source Code

As noted in the Chapter 7 summary, the source code is continually evolving, and new versions are continually updated. As my wife Janet (also an outstanding computer scientist) remarks, "software is never done until it is obsolete."

Obtaining the Source Code

Readers can obtain a copy of the current Python source code, additional files, and an executable version for the Raspberry Pi on GitHub via the book's product page, located at

978-1-4842-3699-4

In addition, for those wishing to participate in the advancement of the code for the Raspberry Pi or porting the code to other platforms, please contact the author:

Chet Hosmer, cdh@python- or

visit the web page python-.

? Chet Hosmer 2018

169

C. Hosmer, Defending IoT Infrastructures with the Raspberry Pi,



APPENDIX A Obtaining the Python Source Code

Source Code Copyright and Licensing

The following copyright message is included in each of the source files for the Raspberry Pi sensor/recorder to clearly state the use and distribution of the source code. ''' Packet Sensor/Recorder GUI Version Version 1.0 May 5, 2018 Cinco-de-Mayo Version Copyright (c) 2018 Python Forensics and Chet Hosmer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the software is furnished to do so, subject to the following condition: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. '''

170

Glossary

Active Discovery ? The act of directly probing devices attached to a network to discover them along with the services they have open and even to determine the type of operating system or device (e.g., Windows, Linux, Mac, Printer).

Arduino ? An open source electronics platform based on available and simple-to-use hardware and software components.

ARP ? Address Resolution Protocol. This protocol is used to map IP addresses to a unique physical MAC address.

HTTP ? Hypertext Transfer Protocol. An application-layer protocol for communicating using hypermedia.

ICMP ? Internet Control Message Protocol. ICMPv4 is used for IPv4 environments, and ICMPv6 is used for IPv6 environments. The protocol is used to identify and troubleshoot network and host connection issues. It should be noted that in many modern environments ICMP packets are blocked.

IGMP ? Protocol used to establish multicast group memberships. IIoT ? Industrial Internet of Things. It should be noted that this acronym is frowned upon in many circles, because the "I" in "IoT" stands for Internet, and most industrial users would never attach their control systems to the Internet. IoT ? Internet of Things. IP ? Internet Protocol. Utilized by networked devices to connect and communicate. JMS ? Java Message Service. Developed by Sun Microsystems to provide a standard method for Java programs to communicate using asynchronous messaging at the enterprise level.

? Chet Hosmer 2018

171

C. Hosmer, Defending IoT Infrastructures with the Raspberry Pi,



Glossary

MAC ? Media Access Control address of a network interface. Computers and other network devices may have one or more network interfaces, and each would have a unique MAC address. The MAC address is defined by the manufacturer of devices.

NETBIOS ? Network Basic Input/Output System. NETBIOS is an application interface and not a networking protocol.

NIC ? Network Interface Card. OUI ? Organizationally Unique Identifier. The first 24 bits of the device MAC address (in most cases) represents the manufacturer of the device. These are purchased from the IEEE (Institute of Electrical and Electronics Engineers). Passive Monitoring ? The act of monitoring (sniffing) network traffic to record behaviors over a period. The concept allows for a deeper look at the activities of network devices even when those devices might be transient or devices that may not respond to normal probing. PaPirus Display ?An ePaper display technology that mimics the appearance of ink on paper. ePaper displays reflected light, much like ordinary paper. These displays are capable of holding text and images indefinitely, even in the absence of power. Pickle ? A Python Standard Library that allows serialization of Python objects (e.g., strings, lists, sets, dictionaries). The serialization allows for the fast storage and retrieval of these objects. Python ? A general-purpose, open source, high-level programming language. Raspberry Pi ? A credit card?sized (and smaller) single-board computer developed in the United Kingdom by the Raspberry Pi Foundation. Raspbian ? One of the many flavors of operating systems available for the Raspberry Pi. SMB ?Server Message Block. A communication protocol that allows for the sharing of files, printers, and other I/O devices between computers.

172

Glossary

SOAP ? Simple Object Access Protocol. Provides messaging services allowing programs that execute on different operating systems to communicate using HTTP and XML.

SPAN Port ? Sometimes referred to as a monitoring port available on modern switches and routers. All traffic that passes through the switch or router can also be directed to this port. This allows monitoring devices to observe all traffic flowing the switch.

SQL ? Structured Query Language. A standard language used for interfacing with relational databases.

TCP ? Transaction Control Protocol. It operates at the transport layer, as its primary role is to establish and maintain connections between host computers and devices.

Tcl/Tk ? A scripting language developed by Sun Microsystems for creating graphical user interfaces.

TKinter ? Python library that provides an object-oriented layer on top of Tcl/Tk to provide graphical user interface capabilities to Python.

TLS ? Transport Layer Security. As the name implies, it ensures privacy and tamper protection between server and client or even between peer-to- peer entities.

UDP ? User Datagram Protocol. The protocol does not verify receipt of transmitted packets and requires no response. Therefore, the protocol is referred to as an unreliable link protocol, whereas TCP is commonly referred to as a reliable link protocol. Both operate at the transport layer.

uPnP ? Universal Plug and Play. A networking protocol that allows devices such as IoT, computers, phones, printers, and so on to discover their presences on a network.

WeMo ? A series of products, developed by Belkin International, that enable users to access, monitor, and control devices over the Internet from anywhere.

XML ?eXtensible Markup Language. Defines encoding rules for documents that can be utilized across the Internet.

173

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download