Wireshark Tutorial

Wireshark is a free program for analyzing and graphically presenting data protocols (sniffer). Such data protocols are used by computers on various communication media such as the local network or USB. Capturing the communication can be useful for troubleshooting or evaluating the content of the communication. Wireshark displays both the protocol headers and the transported content during a capture. The program relies on the output of small helper programs like pcap or usbpcap for the graphical presentation, in order to capture the communication content on the respective transmission medium. [wikipedia] ...

July 12, 2018 · Aaron

MQTT: Summary of the Specification (high level)

MQTT (Message Queue Telemetry Transport) is an open messaging protocol for machine-to-machine communication (M2M) that enables the transmission of telemetry data in the form of messages between devices, despite high latency or constrained networks. Corresponding devices range from sensors and actuators, mobile phones, embedded systems in vehicles or laptops to fully developed computers. [Wikipedia] The information about the specification listed below comes, among other sources, from the current MQTT specification of IBM. ...

July 9, 2018 · Aaron

API Definition with Swagger and YAML

Swagger Installation: npm install -g swagger Project Creation: swagger project create <project_name> Start Project: swagger project start Edit Project: swagger project edit The notation is defined within the OpenAPI Specification. Visual representation of the specification by Arnaud Lauret: Link API Definition (excerpt): Download swagger.yaml Verify YAML code: swagger project verify Include mock file In the project folder under the ‘mocks’ directory create a new mock file e.g. getAllEntries.js . ...

December 3, 2017 · Aaron

Spring Cloud Netflix Concepts

What is Spring? The Spring Framework (short Spring) is an open source framework for the Java platform. The goal of the Spring Framework is to simplify development with Java/Java EE and promote good programming practices. Spring provides a holistic solution for building applications and their business logic with a wide range of functionality; decoupling of application components is the focus. [wikipedia] The main projects of Spring include: Spring Boot Spring Framework Spring Cloud Date Flow Spring Cloud Spring Data Spring Integration Spring Batch Spring Security Spring HATEOAS spring REST Docs Spring AMQP Spring Mobile Spring for Android Spring Web Flow Spring Web Services Spring LDAP Spring Session Spring Shell Spring Flo Spring Kafka Spring Statemachine Sprin IO Platform In addition Spring includes the two community projects: ...

October 25, 2017 · Aaron

Microservice Example with Spring Boot & Netflix (Zuul & Eureka)

The application: The following microservices were created: microservice-frontend microservice-backend microservice-proxy-zuul microservice-discovery-eureka Download: Microservices Eureka output:

October 24, 2017 · Aaron

BPMN 2.0: Cheat Sheet for the Basic Notation

Since I don’t model every day, this BPMN diagram with its deliberately simple notation serves me as an efficient memory aid for the most important fundamentals.

October 17, 2017 · Aaron

DTLS (TCP vs. UDP)

Transport Layer Security (TLS) known as Secure Sockets Layer (SSL) is an encryption protocol (based on x.509) for secure data transmission. Datagram Transport Layer Security (DTLS) is based on TLS and uses UDP instead of TCP. The difference between TLS and DTLS is equivalent to the difference between TCP and UDP. TLS requires the reliability of the data, among other things for decrypting data. If, for example, the data packets arrive out of order, TLS will not be able to perform an integrity check, since the check involves the sequence number of the packets, i.e. after packet N, packet N+1 is expected. ...

June 23, 2017 · Aaron

Ansible: Vagrant VM Provisioning

// Ansible is used for the configuration or provisioning of the following Vagrant VM infrastructure // Installation from “Personal Packages Archive (PPA)” sudo -s apt-get install software-properties-common apt-add-repository ppa:ansible/ansible apt-get update apt-get install ansible // Check ansible –version ansible-playbook –version ansible-galaxy –help // Creation of a new/custom ‘hosts’ or ‘inventory’ file // for configuring the ‘dev’ environment cd ~ mkdir ansible cd ansible vi dev // Creating a custom config file (ansible.cfg) // Reference to the inventory (hosts) file cd ~/ansible vi ansible.cfg [defaults] inventory=./dev ...

March 16, 2017 · Aaron

Vagrant: Basics

VM-Management // Help vagrant help vagrant help init // Initialize folder for Vagrant, i.e. generate ‘Vagrantfile’ vagrant init hashicorp/precise64 // Setup and configure an environment (Vagrant box) vagrant up // List installed boxes // Windows folder // Login via SSH vagrant ssh // VM sleep mode vagrant suspend // Turn off VM (shutdown) vagrant halt // Delete VM vagrant destroy Vagrant Box // Install additional environments (Vagrant box), e.g. Ubuntu trusty ...

March 9, 2017 · Aaron

IPv4 vs. IPv6 (high level)

IPv4 Review IPv4 Header Version: 4 IHL (Internet Header Length): length of the header in 32-bit increments. Value 5 = 5 lines x 32 bits TOS (Type of Service): used to prioritize the IP packet (QoS) Total Length: 65535 bytes Identification, Flags & Fragment Offset. Control of fragmentation Flags: Bit 0 is reserved. If bit 1 is set to 0, fragmentation is allowed. If set to 1, not allowed. If bit 2 is set to 0, then it is the last fragment. If 1, more fragments follow. Time to Live: lifetime of the packet. Each router reduces the value by 1 Protocol: e.g. TCP, UDP, ICMP, etc. Header Checksum: checksum. Rarely used. Source / Destination: destination and source address IPv4 & IPv6 Header Differences ...

October 25, 2016 · Aaron