A quick introduction to Python's Twisted networking library, given at a NZPUG meeting in April 2009.
Covers some of the stuff you can do with Twisted really easily, like an XMPP bot and an SSH/Telnet shell into your running applications.
This document provides an introduction to Twisted, an event-driven networking engine written in Python. It describes Twisted's key components, including the Reactor event loop, Deferred asynchronous programming abstraction, networking abstractions like Transport and Protocol, and high-level APIs for applications like HTTP, SMTP, FTP and more. It also discusses how to deploy Twisted applications using the twistd utility and provides additional resources for learning more about asynchronous programming and Twisted.
"WTF is Twisted? (or; owl amongst the ponies)" is a talk that introduces the Twisted asynchronous programming framework, how it works, and what uses it.
Although we don't use it for the core web application, most other places in Launchpad that have to deal with concurrency issues do it using Twisted. This talk will survey these areas and talk about issues we've found and design patterns we've found helpful.
Python Twisted is an event-driven networking framework. It uses non-blocking functions and callbacks to handle events like data on sockets. Code execution is triggered from an event loop when events occur. This allows for highly scalable servers without threads. Twisted supports many protocols and includes features like deferreds for asynchronous programming and a plugin architecture. However, it is single-threaded and requires external tools to utilize multiple CPUs.
Netty @Apple: Large Scale Deployment/ConnectivityC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1SIYyxQ.
Norman Maurer presents how Apple uses Netty for its Java based services and the challenges of doing so, including how they enhanced performance by participating in the Netty open source community. Maurer takes a deep dive into advanced topics like JNI, JVM internals, and others. Filmed at qconsf.com.
Norman Maurer is one of the core developers of Netty, a member of the Apache Software Foundation and a contributor to many Open Source Projects. He's a Senior Software Engineer for Apple, where he works on Netty and other projects.
The document discusses the development of a Netty 4-based RPC system. It describes using Netty 4 as a non-blocking I/O framework for building asynchronous network applications. It then outlines the design of the RPC system, including components like stubs, skeletons, command handling, and deployment. Finally, it discusses performance testing done on the RPC system to evaluate aspects like throughput, response times, resource usage and scalability under different loads.
This document provides an introduction to Twisted, an event-driven networking engine written in Python. It describes Twisted's key components, including the Reactor event loop, Deferred asynchronous programming abstraction, networking abstractions like Transport and Protocol, and high-level APIs for applications like HTTP, SMTP, FTP and more. It also discusses how to deploy Twisted applications using the twistd utility and provides additional resources for learning more about asynchronous programming and Twisted.
"WTF is Twisted? (or; owl amongst the ponies)" is a talk that introduces the Twisted asynchronous programming framework, how it works, and what uses it.
Although we don't use it for the core web application, most other places in Launchpad that have to deal with concurrency issues do it using Twisted. This talk will survey these areas and talk about issues we've found and design patterns we've found helpful.
Python Twisted is an event-driven networking framework. It uses non-blocking functions and callbacks to handle events like data on sockets. Code execution is triggered from an event loop when events occur. This allows for highly scalable servers without threads. Twisted supports many protocols and includes features like deferreds for asynchronous programming and a plugin architecture. However, it is single-threaded and requires external tools to utilize multiple CPUs.
Netty @Apple: Large Scale Deployment/ConnectivityC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1SIYyxQ.
Norman Maurer presents how Apple uses Netty for its Java based services and the challenges of doing so, including how they enhanced performance by participating in the Netty open source community. Maurer takes a deep dive into advanced topics like JNI, JVM internals, and others. Filmed at qconsf.com.
Norman Maurer is one of the core developers of Netty, a member of the Apache Software Foundation and a contributor to many Open Source Projects. He's a Senior Software Engineer for Apple, where he works on Netty and other projects.
The document discusses the development of a Netty 4-based RPC system. It describes using Netty 4 as a non-blocking I/O framework for building asynchronous network applications. It then outlines the design of the RPC system, including components like stubs, skeletons, command handling, and deployment. Finally, it discusses performance testing done on the RPC system to evaluate aspects like throughput, response times, resource usage and scalability under different loads.
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...Igalia
By Katerina Barone-Adesi.
Driven by the needs of scientific computing, rapid rises in memory bandwidth have made it possible to implement high-performance network functions in a radically simpler way. Snabb Switch rides this wave, bypassing the kernel to process network packets in terse Lua, leaving the programmer free to focus on the essence of their problem. This talk presents our experiences delivering a carrier-grade implementation of "lightweight 4 over 6", an IPv4-as-a-service architecture that tunnels access to the IPv4 internet through specialized Snabb appliances.
We report on our recent experience implementing a carrier-grade virtualized network function, with observations on what it is like to build real-world, high-performance Snabb applications. (and kernel bypass). Each instance runs at essentially line speed on two ten-gigabit Ethernet cards.
Lightweight 4-over-6 (lw4o6) defines an IPv4-as-a-service architecture that allows ISPs to internally operate an IPv6-only network, tunneling IPv4 connections between lw4o6-aware endpoints installed at the customer's site (e.g. in OpenWRT) and an internet-facing "lwAFTR". Lw4o6 was specified in 2015 as RFC 7596 and has the architectural advantage that the carrier-side lwAFTR only needs per-customer state, not per-flow state. An lw4o6 system can also be configured to share IPv4 addresses between multiple customers as part of an IPv4 exhaustion strategy. It allows IPv4 networks to interoperate smoothly, while a carrier between them runs a pure-IPv6 network.
Igalia has built an open source "lwAFTR" implementation that is ready to deploy in production. We describe the joys of hacking with Snabb, giving a quick intro to Snabb, modern x86, and lw4o6 along the way.
(c) 2016 FOSDEM VZW
CC BY 2.0 BE
https://archive.fosdem.org/2016/
This document summarizes tools and techniques for open source network testing, including testing routers and Wi-Fi networks with multiple concurrent clients to evaluate performance under real-world conditions. It describes using tools like net-hydra, netburn, and whenits to automate testing across multiple client devices and collect throughput and latency statistics. The document advocates an approach of testing networks with multiple concurrent activities like downloading, browsing, VoIP calls, and streaming to evaluate how equipment handles collision domains under more challenging real-world loads.
The document discusses Mininet, an open source network emulator used for testing SDN ideas. It provides an overview of Mininet 1.0 and its functional fidelity before describing plans for Mininet 2.0 to improve performance fidelity through techniques like resource isolation, network invariants, and reproducible experiments. The document uses the example of DCTCP traffic to demonstrate how network invariants can validate emulator results.
This presentation on building servers explains what is Netty, why choosing it and shows how with very little code you can build an asynchronous app server.
Building scalable network applications with Netty (as presented on NLJUG JFal...Jaap ter Woerds
The presentation I gave on creating server application with Netty, including an example of how it is used to power XMS the mobile messaging platform of eBuddy.
Example code is on github: https://github.com/jaapterwoerds/jfall-netty4
More information on eBuddy: xms.me and tech.ebuddy.com
In this slide, we discussed the architecture of iptables and also showed how to implement your own IPTABLES module.
Upon the understanding of iptables, we implemented the DNS layer 7 parse in iptables module.
After that, we studied how Kubernetes service works and also explained why Kubernetes can't do layer7 load-balancer in TCP connection but UDP.
Anatomy of neutron from the eagle eyes of troubelshoortersSadique Puthen
This document summarizes the anatomy of OpenStack Neutron through examples of real-life troubleshooting scenarios. It explores four examples: security group rules not being effective, instances not getting IP addresses from DHCP, floating IP connections randomly failing, and slow provider network communications. For each example, it explains the root cause found by understanding Neutron's architecture and packet flows, and describes the troubleshooting steps taken such as examining logs, monitoring processes, and using tools like tcpdump. The goal is to demonstrate Neutron anatomy and troubleshooting methods rather than just state the problems and solutions.
Netty is a NIO client server framework that enables quick development of network applications such as protocol servers and clients. It is asynchronous and uses non-blocking IO to share threads across many connections. Netty supports protocols like TCP, UDP, HTTP and provides codecs for serialization and compression. Companies like Twitter, Facebook, and Red Hat use Netty in their projects.
OpenStack networking can use either VLAN tagging or GRE tunneling to provide logical isolation between tenant networks. With VLAN, packets are tagged with a VLAN ID at the compute and network nodes to associate them with a particular tenant network. With GRE, packets are encapsulated with a GRE header that includes a tunnel ID to associate them with a tenant network. Security groups are applied using iptables rules to filter traffic between VMs in different networks.
The document is describing OpenStack networking components including Linux bridges, Open vSwitch, virtual network interfaces (TAP and VETH), and how they work together to provide virtual networking.
It explains that TAP interfaces connect virtual machines to hypervisors, VETH pairs connect virtual bridges, Linux bridges act as hubs to connect multiple interfaces, and Open vSwitch bridges act like virtual switches with configurable ports and VLAN tagging. Traffic flows through these components via OpenFlow rules with tags added or stripped as needed.
Securing & Enforcing Network Policy and Encryption with Weave NetLuke Marsden
This talk starts with a primer on container networking, then goes on to cover two distinct areas of container network security: encryption, enabled by IPsec in Weave Net and container firewalls, enabled by Kubernetes Network Policy and enforced by the Weave Net Network Policy Controller. A discussion of thread models is included.
[233] level 2 network programming using packet ngin rtosNAVER D2
The document discusses level 2 network programming using PacketNgin RTOS. It begins with introductions and definitions of basic network concepts like local area networks, switches, routers, Ethernet, and the Address Resolution Protocol. It then covers wide area networks, IP routing, and the Internet Control Message Protocol. Transmission Control Protocol and congestion control are also explained. Level 2 network applications that can be built with PacketNgin like load balancing, IPsec, protocol conversion, and IoT gateways are presented. The document concludes with a summary of host versus network node programming and examples of level 2 network applications.
Docker Networking with New Ipvlan and Macvlan DriversBrent Salisbury
This document introduces new Docker network drivers called Macvlan and Ipvlan. It provides information on setting up and using these drivers. Some key points:
- Macvlan and Ipvlan allow containers to have interfaces directly on the host network instead of going through NAT or VPN. This provides better performance and no NAT issues.
- The drivers can be used in bridge mode to connect containers to an existing network, or in L2/L3 modes for more flexibility in assigning IPs and routing.
- Examples are given for creating networks with each driver mode and verifying connectivity between containers on the same network.
- Additional features covered include IP address management, VLAN trunking, and dual-stack IPv4/
Linux Kernel Cryptographic API and Use CasesKernel TLV
The Linux kernel has a rich and modular cryptographic API that is used extensively by familiar user facing software such as Android. It's also cryptic, badly documented, subject to change and can easily bite you in unexpected and painful ways.
This talk will describe the crypto API, provide some usage example and discuss some of the more interesting in-kernel users, such as DM-Crypt, DM-Verity and the new fie system encryption code.
Gilad Ben-Yossef is a principal software engineer at ARM. He works on the kernel security sub-system and the ARM CryptCell engine. Open source work done by Gilad includes an experiment in integration of network processors in the networking stack, a patch set for reducing the interference caused to user space processes in large multi-core systems by Linux kernel “maintenance” work and on SMP support for the Synopsys Arc processor among others.
Gilad has co-authored O’Reilly’s “Building Embedded Linux Systems” 2nd edition and presented at such venues as Embedded Linux Conference Europe and the Ottawa Linux Symposium, as well as co-founded Hamakor, an Israeli NGO for the advancement for Open Source and Free Software in Israel. When not hacking on kernel code you can find Gilad meditating and making dad jokes on Twitter.
Control Your Network ASICs, What Benefits switchdev Can Bring UsHungWei Chiu
In this slide, I will introduce what is switchdev and what problem it wants to solve. To this day, most of the hardware switch's application-specific integrated circuit (ASIC) only be controlled by the vendor's proprietary binary (SDK) and it's inconvenient for system administrator/developer. In order to break the chip vendor's lock-in situation, the switchdev had been designed to solve this. With the help of switchdev, we can develop a general solution for hardware switch chips and break the connection with vendor's binary-blob (SDK).
In order words. Linux kernel can directly communicate with the vendor's proprietary ASIC now, and the software programmer/system administrator can easily control that ASIC to provide more flexible, powerful and programmable network function.
Docker network Present in VietNam DockerDay 2015Van Phuc
The document discusses Docker networking. It begins with an introduction to Docker and why networking is important for communication between containers. It then covers the libnetwork project, Docker networking features in version 1.7 like the docker0 bridge and linking containers, and experimental features like multi-host networking and services. Drivers and plugins for providing networking are described. The document concludes with a call for users to try experimental Docker and contribute to networking projects.
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Julien Vermillard
M2M/IoT is rapidly growing and since its early days different “standard” protocols have emerged (e.g. OMA-DM, TR-069, MQTT, …) or are emerging (e.g. CoAP or Lightweight M2M). Understanding which protocol to use for which application can be intimidating, therefore we propose to give an overview of these protocols to help you understand their goals and characteristics. We’ll present common M2M use cases and why they usually require more than just one protocol ; we will also see whether CoAP associated with Lightweight M2M allows to forge “one protocol to rule them all”.
This document provides an overview of the Tornado web server and summarizes its internals. It begins with an introduction to Tornado, describing it as a scalable, non-blocking web server and framework written in Python. It then outlines the main Tornado modules and discusses sockets, I/O monitoring using select, poll and epoll, and how Tornado sets up its server loop and handles requests.
Snabb Switch: Riding the HPC wave to simpler, better network appliances (FOSD...Igalia
By Katerina Barone-Adesi.
Driven by the needs of scientific computing, rapid rises in memory bandwidth have made it possible to implement high-performance network functions in a radically simpler way. Snabb Switch rides this wave, bypassing the kernel to process network packets in terse Lua, leaving the programmer free to focus on the essence of their problem. This talk presents our experiences delivering a carrier-grade implementation of "lightweight 4 over 6", an IPv4-as-a-service architecture that tunnels access to the IPv4 internet through specialized Snabb appliances.
We report on our recent experience implementing a carrier-grade virtualized network function, with observations on what it is like to build real-world, high-performance Snabb applications. (and kernel bypass). Each instance runs at essentially line speed on two ten-gigabit Ethernet cards.
Lightweight 4-over-6 (lw4o6) defines an IPv4-as-a-service architecture that allows ISPs to internally operate an IPv6-only network, tunneling IPv4 connections between lw4o6-aware endpoints installed at the customer's site (e.g. in OpenWRT) and an internet-facing "lwAFTR". Lw4o6 was specified in 2015 as RFC 7596 and has the architectural advantage that the carrier-side lwAFTR only needs per-customer state, not per-flow state. An lw4o6 system can also be configured to share IPv4 addresses between multiple customers as part of an IPv4 exhaustion strategy. It allows IPv4 networks to interoperate smoothly, while a carrier between them runs a pure-IPv6 network.
Igalia has built an open source "lwAFTR" implementation that is ready to deploy in production. We describe the joys of hacking with Snabb, giving a quick intro to Snabb, modern x86, and lw4o6 along the way.
(c) 2016 FOSDEM VZW
CC BY 2.0 BE
https://archive.fosdem.org/2016/
This document summarizes tools and techniques for open source network testing, including testing routers and Wi-Fi networks with multiple concurrent clients to evaluate performance under real-world conditions. It describes using tools like net-hydra, netburn, and whenits to automate testing across multiple client devices and collect throughput and latency statistics. The document advocates an approach of testing networks with multiple concurrent activities like downloading, browsing, VoIP calls, and streaming to evaluate how equipment handles collision domains under more challenging real-world loads.
The document discusses Mininet, an open source network emulator used for testing SDN ideas. It provides an overview of Mininet 1.0 and its functional fidelity before describing plans for Mininet 2.0 to improve performance fidelity through techniques like resource isolation, network invariants, and reproducible experiments. The document uses the example of DCTCP traffic to demonstrate how network invariants can validate emulator results.
This presentation on building servers explains what is Netty, why choosing it and shows how with very little code you can build an asynchronous app server.
Building scalable network applications with Netty (as presented on NLJUG JFal...Jaap ter Woerds
The presentation I gave on creating server application with Netty, including an example of how it is used to power XMS the mobile messaging platform of eBuddy.
Example code is on github: https://github.com/jaapterwoerds/jfall-netty4
More information on eBuddy: xms.me and tech.ebuddy.com
In this slide, we discussed the architecture of iptables and also showed how to implement your own IPTABLES module.
Upon the understanding of iptables, we implemented the DNS layer 7 parse in iptables module.
After that, we studied how Kubernetes service works and also explained why Kubernetes can't do layer7 load-balancer in TCP connection but UDP.
Anatomy of neutron from the eagle eyes of troubelshoortersSadique Puthen
This document summarizes the anatomy of OpenStack Neutron through examples of real-life troubleshooting scenarios. It explores four examples: security group rules not being effective, instances not getting IP addresses from DHCP, floating IP connections randomly failing, and slow provider network communications. For each example, it explains the root cause found by understanding Neutron's architecture and packet flows, and describes the troubleshooting steps taken such as examining logs, monitoring processes, and using tools like tcpdump. The goal is to demonstrate Neutron anatomy and troubleshooting methods rather than just state the problems and solutions.
Netty is a NIO client server framework that enables quick development of network applications such as protocol servers and clients. It is asynchronous and uses non-blocking IO to share threads across many connections. Netty supports protocols like TCP, UDP, HTTP and provides codecs for serialization and compression. Companies like Twitter, Facebook, and Red Hat use Netty in their projects.
OpenStack networking can use either VLAN tagging or GRE tunneling to provide logical isolation between tenant networks. With VLAN, packets are tagged with a VLAN ID at the compute and network nodes to associate them with a particular tenant network. With GRE, packets are encapsulated with a GRE header that includes a tunnel ID to associate them with a tenant network. Security groups are applied using iptables rules to filter traffic between VMs in different networks.
The document is describing OpenStack networking components including Linux bridges, Open vSwitch, virtual network interfaces (TAP and VETH), and how they work together to provide virtual networking.
It explains that TAP interfaces connect virtual machines to hypervisors, VETH pairs connect virtual bridges, Linux bridges act as hubs to connect multiple interfaces, and Open vSwitch bridges act like virtual switches with configurable ports and VLAN tagging. Traffic flows through these components via OpenFlow rules with tags added or stripped as needed.
Securing & Enforcing Network Policy and Encryption with Weave NetLuke Marsden
This talk starts with a primer on container networking, then goes on to cover two distinct areas of container network security: encryption, enabled by IPsec in Weave Net and container firewalls, enabled by Kubernetes Network Policy and enforced by the Weave Net Network Policy Controller. A discussion of thread models is included.
[233] level 2 network programming using packet ngin rtosNAVER D2
The document discusses level 2 network programming using PacketNgin RTOS. It begins with introductions and definitions of basic network concepts like local area networks, switches, routers, Ethernet, and the Address Resolution Protocol. It then covers wide area networks, IP routing, and the Internet Control Message Protocol. Transmission Control Protocol and congestion control are also explained. Level 2 network applications that can be built with PacketNgin like load balancing, IPsec, protocol conversion, and IoT gateways are presented. The document concludes with a summary of host versus network node programming and examples of level 2 network applications.
Docker Networking with New Ipvlan and Macvlan DriversBrent Salisbury
This document introduces new Docker network drivers called Macvlan and Ipvlan. It provides information on setting up and using these drivers. Some key points:
- Macvlan and Ipvlan allow containers to have interfaces directly on the host network instead of going through NAT or VPN. This provides better performance and no NAT issues.
- The drivers can be used in bridge mode to connect containers to an existing network, or in L2/L3 modes for more flexibility in assigning IPs and routing.
- Examples are given for creating networks with each driver mode and verifying connectivity between containers on the same network.
- Additional features covered include IP address management, VLAN trunking, and dual-stack IPv4/
Linux Kernel Cryptographic API and Use CasesKernel TLV
The Linux kernel has a rich and modular cryptographic API that is used extensively by familiar user facing software such as Android. It's also cryptic, badly documented, subject to change and can easily bite you in unexpected and painful ways.
This talk will describe the crypto API, provide some usage example and discuss some of the more interesting in-kernel users, such as DM-Crypt, DM-Verity and the new fie system encryption code.
Gilad Ben-Yossef is a principal software engineer at ARM. He works on the kernel security sub-system and the ARM CryptCell engine. Open source work done by Gilad includes an experiment in integration of network processors in the networking stack, a patch set for reducing the interference caused to user space processes in large multi-core systems by Linux kernel “maintenance” work and on SMP support for the Synopsys Arc processor among others.
Gilad has co-authored O’Reilly’s “Building Embedded Linux Systems” 2nd edition and presented at such venues as Embedded Linux Conference Europe and the Ottawa Linux Symposium, as well as co-founded Hamakor, an Israeli NGO for the advancement for Open Source and Free Software in Israel. When not hacking on kernel code you can find Gilad meditating and making dad jokes on Twitter.
Control Your Network ASICs, What Benefits switchdev Can Bring UsHungWei Chiu
In this slide, I will introduce what is switchdev and what problem it wants to solve. To this day, most of the hardware switch's application-specific integrated circuit (ASIC) only be controlled by the vendor's proprietary binary (SDK) and it's inconvenient for system administrator/developer. In order to break the chip vendor's lock-in situation, the switchdev had been designed to solve this. With the help of switchdev, we can develop a general solution for hardware switch chips and break the connection with vendor's binary-blob (SDK).
In order words. Linux kernel can directly communicate with the vendor's proprietary ASIC now, and the software programmer/system administrator can easily control that ASIC to provide more flexible, powerful and programmable network function.
Docker network Present in VietNam DockerDay 2015Van Phuc
The document discusses Docker networking. It begins with an introduction to Docker and why networking is important for communication between containers. It then covers the libnetwork project, Docker networking features in version 1.7 like the docker0 bridge and linking containers, and experimental features like multi-host networking and services. Drivers and plugins for providing networking are described. The document concludes with a call for users to try experimental Docker and contribute to networking projects.
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Julien Vermillard
M2M/IoT is rapidly growing and since its early days different “standard” protocols have emerged (e.g. OMA-DM, TR-069, MQTT, …) or are emerging (e.g. CoAP or Lightweight M2M). Understanding which protocol to use for which application can be intimidating, therefore we propose to give an overview of these protocols to help you understand their goals and characteristics. We’ll present common M2M use cases and why they usually require more than just one protocol ; we will also see whether CoAP associated with Lightweight M2M allows to forge “one protocol to rule them all”.
This document provides an overview of the Tornado web server and summarizes its internals. It begins with an introduction to Tornado, describing it as a scalable, non-blocking web server and framework written in Python. It then outlines the main Tornado modules and discusses sockets, I/O monitoring using select, poll and epoll, and how Tornado sets up its server loop and handles requests.
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 Finalmasoodnt10
The document discusses denial of service (DoS) attacks and how to mitigate them. It begins by defining DoS attacks and some common types like Smurf and Fraggle attacks. It then discusses tools like hping that can be used to craft packets for DoS attacks or testing defenses. The document concludes by outlining techniques to prevent networks from being used in DoS amplification attacks and recommends configuring firewalls and filters to detect and block flood traffic.
The document discusses using Python for ethical hacking and penetration testing. It provides reasons for using Python such as its ease of use, readable syntax, rich libraries, and existing tools. It then covers various Python libraries and frameworks used for tasks like reconnaissance, scanning, exploitation, and packet manipulation. Specific topics covered include file I/O, requests, sockets, scapy, and more.
Hacking Highly Secured Enterprise Environments by Zoltan BalazsShakacon
In theory, post-exploitation after having remote access is easy. Also in theory, there is no difference between theory and practice. In practice, there is. Imagine a scenario, where the hacker/penetration-tester has deployed a malware on a user's workstation, but the target information is on a secure server accessed via two-factor authentication, with screen access only (e.g. RDP, Citrix, etc.) On top of that, the server runs application white-listing, and only the inbound port to the screen server (e.g. 3389) is allowed through the hardware firewall. But you also need persistent interactive C&C communication (e.g. Netcat, Meterpreter, RAT) to this server through the user's workstation.
I developed (and will publish) two tools that help the community in these situations. The first tool can drop malware to the server through the screen while the user is logged in. The second tool can help to circumvent the hardware firewall after one can execute code on the server with admin privileges (using a signed kernel driver). My tools have been tested against Windows server 2012 and Windows 8, and they work with RDP or other remote desktops (e.g. Citrix). The number of problems one can solve with them are endless, e.g., communicating with bind-shell on webserver behind restricted DMZ. Beware, live demo and fun included!
How to Use GSM/3G/4G in Embedded Linux SystemsToradex
The number of embedded devices that are connected to the internet is growing each day. Nowadays, they are installed majorly using a wireless connection. They need mobile network coverage to be connected to the internet. Read our next blog which tells you about the various configurations to connect a device such as Colibri iMX6S with the Colibri Evaluation Board running Linux to the internet through the PPP (Point-to-Point Protocol) link. Read More: https://www.toradex.com/blog/how-to-use-gsm-3g-4g-in-embedded-linux-systems
Matt Tucker discusses how XMPP (Jabber) can be used for cloud services and architectures. Some key benefits of XMPP over traditional web services include its support for real-time bidirectional communication, presence, and easier firewall traversal. Open source XMPP servers like Openfire and client libraries provide tools to build scalable cloud components and services. Examples like Twitter's use of XMPP for its firehose API demonstrate how XMPP can enable new types of cloud applications.
In theory, post-exploitation after having remote access is easy. Also in theory, there is no difference between theory and practice. In practice, there is. Imagine a scenario, where you have deployed a malware on a user’s workstation, but the target information is on a secure server accessed via two-factor authentication, with screen access only (e.g. RDP, Citrix, etc.). On top of that, the server runs application white-listing, and only the inbound port to the screen server (e.g. 3389) is allowed through the hardware firewall. But you also need persistent interactive C&C communication (e.g. Netcat, Meterpreter, RAT) to this server through the user’s workstation.
I developed (and will publish) two tools that help you in these situations. The first tool can drop malware to the server through the screen while the user is logged in. The second tool can help you to circumvent the hardware firewall after we can execute code on the server with admin privileges (using a signed kernel driver). My tools are generic meaning that they work against Windows server 2012 and Windows 8, and they work with RDP or other remote desktops. The number of problems you can solve with them are endless, e.g., communicating with bind-shell on webserver behind restricted DMZ. Beware, live demo and fun included!
The document discusses techniques for bypassing security controls and gaining persistent access to a secured remote desktop server. It proposes infecting a client's workstation, stealing RDP credentials, and using various tools to bypass firewalls, application whitelisting, and other defenses in order to install malware and establish command and control of the target server. Specific bypass methods involve abusing Microsoft Word macros, exploiting Windows services, installing kernel drivers, and manipulating TCP source ports. The presentation demonstrates new attack tools and methods for pentesters and warns blue teams of challenges in detecting such advanced intrusions.
Choosing a communication platform is an important decision. From simple two-way communication to complex multi-node architectures, ZeroMQ, the embeddable networking library, helps provide a safe, fast and reliable communication medium.
This webinar will give you an overview of the ZeroMQ architecture, explaining the advantages and exploring usage patterns and cross-platform capabilities. We'll also go through examples of the patterns using different languages, including C++, Swift, Python and C.
This document discusses various techniques for advanced network forensics, including user/password cracking using Hydra, port scanning using Nmap, signature detection by analyzing file types in network payloads, and detecting converted file formats like MIME encoding. It provides examples of using tools like Hydra, Nmap, and Snort rules to detect activities like password cracking, port scanning, and the transmission of files like PDFs and images over the network.
Simon Willison gave a presentation on Comet, a technique for enabling live data updates in web applications. Comet allows a web server to push events to connected browsers in real-time. It has faced many technical challenges due to browser limitations. Key techniques discussed include streaming, long polling, and the Bayeaux protocol which provides a common way for Comet clients and servers to communicate. The presentation showed how to easily build a basic Comet application using Jetty and Dojo in just a few lines of code.
This document provides an overview and comparison of XML-RPC and SOAP, which are two RPC systems that use open internet standards. XML-RPC implements RPC using open web standards by encoding data in XML and making RPC calls over HTTP. SOAP attempts to overcome limitations of XML-RPC by supporting user-defined data types and object introspection. While SOAP is more full-featured, XML-RPC remains simpler and more lightweight. Examples are provided of making XML-RPC calls from Python.
Netcat is a tool that can read and write data across networks using TCP or UDP. It can perform functions like port scanning to view open ports, banner grabbing to identify services and versions, file transfers between systems, and creating listening shells to provide remote access to systems. Netcat is useful for tasks like transferring files or chatting between systems and can also be used to set up backdoors and bind or reverse shells for remote command line access.
Netcat is a tool that can be used for port scanning, banner grabbing, file transfer, remote shell access, and chatting over networks using TCP or UDP. It allows viewing open ports on a system through port scanning. Banner grabbing determines the service, version, and OS by connecting to an open port. File transfer and chat are done by setting up Netcat in server and client modes. Remote shell access can be provided through a bind shell, which binds a shell like cmd.exe to a port, or a reverse shell, which sends a shell from the client to a listening Netcat server.
QTP can be used to test non-GUI applications by accessing APIs and COM objects directly. This allows testing applications via Telnet, FTP, web services, and XML without using the GUI. It increases test speed and avoids synchronization issues. The document discusses using COM objects like WinHTTP and W3Sockets for Telnet, FTP, and web services. It also discusses using Msxml2.DOMDocument to work with XML files and compare them using QTP objects.
WebSockets and browser-based real-time communications allow for two-way communication between client-side code and remote servers. This enables web applications to maintain bidirectional communications using a simple API. While other options like AJAX exist, WebSockets provide more efficient bidirectional communications by keeping the connection open. The technology has evolved from static web pages to enable rich applications through standards like WebSockets and WebRTC.
DEF CON 27 - DANIEL ROMERO and MARIO RIVAS - why you should fear your mundane...Felipe Prado
The document discusses vulnerabilities found in common office equipment like printers. It begins with an introduction explaining the researchers' approach of analyzing the security of enterprise printers from various manufacturers through a red teaming methodology. They found printers pose risks as they sit on corporate networks, process sensitive data, and are often assumed to be low risk. The document then covers the large attack surface printers present, including exposed services, firmware, and hardware issues. It describes common flaws found like weak configurations, default credentials, and memory corruption issues. Finally, it provides an example of exploiting a stack buffer overflow vulnerability to achieve remote code execution on a printer.
#Include os - From bootloader to REST API with the new C++IncludeOS
The document discusses IncludeOS, a minimal operating system implemented from scratch in C++. It can be included directly in an ELF binary to create a unikernel. IncludeOS is 300x smaller in disk size and 100x less memory usage than traditional operating systems. It supports building REST APIs and web servers directly in C++ applications using the operating system. Drivers are self-registering so applications only link in what they need. Interrupts are handled through delegating to subscriber functions. The document demonstrates building a TCP server and routing in a web application directly in C++ using the IncludeOS APIs and libraries.
Curtailing Crustaceans with Geeky EnthusiasmRobert Coup
As a young and time-poor yachtie I need to get a leg up over the old barnacles who spend every afternoon out racing on the harbour. Can my two friends technology & data help me kick ass and take home the prizes?
Presented as a lightning talk at the Mix & Mash competition launch. Nov 2010, Wellington. http://www.mixandmash.org.nz/
Monitoring and Debugging your Live ApplicationsRobert Coup
Some ideas about debugging and monitoring live applications: logging, remote-shells using Twisted (even in non-twisted apps), python debuggers, and creating IM bots so your apps can talk to you.
Presented at Kiwi Pycon 2009
Web maps are everywhere - but what do people really want to see? We need to start doing analytics on our maps in the same way we do with our other pages.
Ignite Spatial presentation, Oct 2009, FOSS4G Sydney
The document introduces Django, an open-source web framework written in Python. It discusses key features of Django, including object-relational mapping, forms, templates, an admin interface, and more. It then provides an overview of how to set up a Django project, including creating models, views, templates, and using the development server. Examples are given of building a sample application to manage yacht racing crews and races. Resources for learning and getting support with Django are also listed.
Distributed-ness: Distributed computing & the cloudsRobert Coup
Discussion on distributed apps and the cloud resources available to support them. Some discussion on the XMPP/Jabber based messaging system we use at Koordinates. Part of the seminar series for the Wellington Summer of Code programme.
The document discusses how maps on the web have evolved from static images to interactive slippy maps to 3D views. It argues that real estate and housing search websites currently fail to utilize the full potential of web maps by not making the map the primary interface. Lists of addresses are ineffective for spatial searches; the map should be used to filter results, add useful location-based data, and reduce the number of clicks needed to evaluate options. Web maps could be improved by allowing user annotations and printed versions to mirror real-world searching.
Robert Coup will discuss how to get involved in open source projects and potentially gain fame and fortune. Open source refers to software that is collaboratively created by a community. Major companies and organizations use and develop open source software. Getting involved can help your career and skills as a developer.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
2. What?
http://twistedmatrix.com
“an event-driven networking engine
written in Python”
3. Networking?
• You name it, Twisted does it:
TCP, UDP, Telnet, SSH, SSL, HTTP, FTP,
SFTP, Gopher, XMPP, MSN, AIM, IRC,
Multicast, Unix, SMTP, LDAP, POP3,
NNTP, NTP, DNS...
4. Deferreds
• They’re the barrier to Twisted
• Single-threaded asynchronous programming
• A Deferred is a promise to call code later
• Not just a Python thing
6. Deferreds
from twisted.web.client import getPage
from twisted.internet import reactor
def printContents(contents):
'''
This is the 'callback' function, added to the Deferred and called by
it when the promised data is available
'''
print quot;The Deferred has called printContents with the following
contents:quot;
print contents
# Stop the Twisted event handling system -- this is usually handled
# in higher level ways
reactor.stop()
8. Servers
from twisted.internet.protocol import Protocol, Factory
from twisted.internet import reactor
class QOTD(Protocol):
def connectionMade(self):
self.transport.write(quot;An apple a day keeps the doctor awayrnquot;)
self.transport.loseConnection()
# Next lines are magic:
factory = Factory()
factory.protocol = QOTD
# 8007 is the port you want to run under. Choose something >1024
reactor.listenTCP(8007, factory)
reactor.run()
9. Instant Messaging
• uses the Twisted Words project
• support for XMPP (Jabber) + AIM, ICQ,
MSN, IRC, …
• create a bot
• Wokkel makes it easier
10. Bot
• will connect to an XMPP server
• show itself as being online
• have a conversation with anybody who
talks to it
15. How to use?
• Live inspection rather than
trial & error debugging
• distributed apps - separate components
• any networking bridges, converters,
multi-purpose magic apps