This document discusses network programming in Python using sockets. It explains that sockets allow communication across networks and the Python socket module provides an interface to work with sockets. It then describes how to create server and client sockets, including binding, listening, accepting connections, and sending/receiving data. It also covers different socket address families like AF_INET for IPv4 and provides code examples for a basic echo server and handling multiple clients using threads or processes.
This document discusses TCP (Transmission Control Protocol) and its role and functions. It explains the TCP three-way handshake process used to establish a connection between endpoints. It also describes how TCP manages and controls the flow of data through mechanisms like congestion control, flow control, and slow start. TCP aims to provide reliable, ordered, and error-checked delivery of streams of data between applications running on hosts communicating via an IP network.
This document provides instructions for configuring cut-through proxy on an ASA firewall. It includes steps to configure interfaces, ACLs, AAA authentication with an ISE server, a virtual Telnet IP, and verification tests. The goal is to allow a client to Telnet to a virtual IP on the ASA that will authenticate with ISE and cut through to permit access to a real host IP if authentication succeeds.
The Netmiko library simplifies SSH management and configuration of network devices from Python. It supports platforms like Cisco IOS, Cisco ASA, Arista EOS, Juniper Junos, and others. The library establishes SSH connections, executes show and configuration commands, and retrieves command output. The document provides an example of using Netmiko to connect to different network devices and execute the "show arp" command on each one.
This document discusses the configuration of an IPsec VPN between two Linux systems using StrongSwan. It describes setting up the network topology, generating pre-shared keys, configuring IPsec policies and connections in StrongSwan, and testing connectivity between the VPN endpoints by pinging an internal IP address. The status output shows the VPN connection is established with encryption and authentication using AES-256 and SHA-1.
The document discusses hacking the Swisscom modem by exploiting default credentials to gain access. Upon login, the author runs commands to investigate the system such as viewing configuration files and mapping the internal network. Various system details are discovered including the Linux kernel version and software components.
This document describes the configuration of a network topology with VLANs, trunking, routing, and NAT. The key tasks are:
1. Configure switches and routing with VLANs, VTP, EIGRP, and trunking to separate traffic from different client groups.
2. Perform PAT on routers R1 and R2 to allow clients to access the internet.
3. Configure a web server for clients to access via its IP address or domain name.
The document discusses an offline brute force attack method against the WiFi Protected Setup (WPS) protocol. It explains that many wireless access points and routers use weak pseudo-random number generators with small states that can be recovered, allowing an attacker to determine the nonces used in the WPS handshake and then brute force the PIN offline. It provides details on how the attack would work by recovering the PRNG state from the initial message and then determining the PIN. Vendors are shown to have weak responses or lack of acknowledgment of the issue, which affects many chipset and product brands that use a common reference implementation.
This document discusses network programming in Python using sockets. It explains that sockets allow communication across networks and the Python socket module provides an interface to work with sockets. It then describes how to create server and client sockets, including binding, listening, accepting connections, and sending/receiving data. It also covers different socket address families like AF_INET for IPv4 and provides code examples for a basic echo server and handling multiple clients using threads or processes.
This document discusses TCP (Transmission Control Protocol) and its role and functions. It explains the TCP three-way handshake process used to establish a connection between endpoints. It also describes how TCP manages and controls the flow of data through mechanisms like congestion control, flow control, and slow start. TCP aims to provide reliable, ordered, and error-checked delivery of streams of data between applications running on hosts communicating via an IP network.
This document provides instructions for configuring cut-through proxy on an ASA firewall. It includes steps to configure interfaces, ACLs, AAA authentication with an ISE server, a virtual Telnet IP, and verification tests. The goal is to allow a client to Telnet to a virtual IP on the ASA that will authenticate with ISE and cut through to permit access to a real host IP if authentication succeeds.
The Netmiko library simplifies SSH management and configuration of network devices from Python. It supports platforms like Cisco IOS, Cisco ASA, Arista EOS, Juniper Junos, and others. The library establishes SSH connections, executes show and configuration commands, and retrieves command output. The document provides an example of using Netmiko to connect to different network devices and execute the "show arp" command on each one.
This document discusses the configuration of an IPsec VPN between two Linux systems using StrongSwan. It describes setting up the network topology, generating pre-shared keys, configuring IPsec policies and connections in StrongSwan, and testing connectivity between the VPN endpoints by pinging an internal IP address. The status output shows the VPN connection is established with encryption and authentication using AES-256 and SHA-1.
The document discusses hacking the Swisscom modem by exploiting default credentials to gain access. Upon login, the author runs commands to investigate the system such as viewing configuration files and mapping the internal network. Various system details are discovered including the Linux kernel version and software components.
This document describes the configuration of a network topology with VLANs, trunking, routing, and NAT. The key tasks are:
1. Configure switches and routing with VLANs, VTP, EIGRP, and trunking to separate traffic from different client groups.
2. Perform PAT on routers R1 and R2 to allow clients to access the internet.
3. Configure a web server for clients to access via its IP address or domain name.
The document discusses an offline brute force attack method against the WiFi Protected Setup (WPS) protocol. It explains that many wireless access points and routers use weak pseudo-random number generators with small states that can be recovered, allowing an attacker to determine the nonces used in the WPS handshake and then brute force the PIN offline. It provides details on how the attack would work by recovering the PRNG state from the initial message and then determining the PIN. Vendors are shown to have weak responses or lack of acknowledgment of the issue, which affects many chipset and product brands that use a common reference implementation.
This document outlines a presentation on how a hacker views a website. It includes sections on introduction, demonstration, tools, CERT-FR, and questions. Tools mentioned include nmap, netdiscover, Wpscan, nessus, nikto, John, Burp, metasploit, sqlmap, and Github for information gathering, vulnerability assessment, and exploitation. It recommends checking the CERT-FR website and following their Twitter account for security advisories.
This document provides an overview of advanced socket programming concepts including socket options, POSIX name and address conversion functions like getaddrinfo() and getnameinfo(), out-of-band data, and signal driven I/O. It describes common socket options, their uses, and functions for getting and setting option values. It also summarizes POSIX replacement functions for hostname lookups and discusses how out-of-band data can be used to send high priority messages and when SIGIO signals may be generated.
Ziglu runs kubernetes and Istio in production, and it adds up to a complicated system. In order to debug deeply one day, Matt had to dive into the inner workings of Docker networking, virtual switches, and sidecar containers. This talk will share what he learned about off these systems, in the hope it’ll save other people time!
This document discusses connecting an Arduino to the internet and controlling it remotely. It provides code examples for connecting an Arduino to WiFi, getting the time from an NTP server, making HTTP requests, and using the Blynk platform to enable remote control of an Arduino project from a mobile phone app.
The document describes a Secure Active Switch (SAS) system that implements modifications to the Linux kernel bridge to prevent ARP poisoning attacks on a local network. The SAS runs on an embedded system using a ColdFire Motorola processor. It functions as an active network switch that can detect and block ARP attacks by monitoring packets and learning the MAC-IP bindings. Testing showed the SAS successfully blocked ARP poisoning attempts while only adding around 1% more latency to regular network traffic.
1. The document describes configuring IP addresses, DNS, a site-to-site GRE VPN between routers R5 and R6, and a DMVPN network between routers R1, R2, and R3.
2. For the GRE VPN, ISAKMP and IPsec are configured on R5 and R6 using a preshared key of "netwaxlab" to secure the GRE tunnel.
3. For the DMVPN, R1 is configured as a hub router and R2 and R3 as spoke routers. ISAKMP and IPsec are configured using a preshared key of "netwaxlab" to secure the GRE tunnels between the routers.
The document describes tasks for configuring a zone-based firewall on Router 1:
1. Create an inside and outside zone on Router 1's interfaces; apply an inspect policy between the zones to allow necessary traffic.
2. Configure R2 to ping R3 by name by adding DNS and host entries.
3. Configure R2 to copy a file from R4's HTTP server using the file path and name.
4. Configure R2 as the NTP server and have the other routers synchronize to it after applying necessary firewall policies.
The document discusses reverse engineering the firmware of Swisscom's Centro Grande modems. It identifies several vulnerabilities found, including a command overflow issue that allows complete control of the device by exceeding the input buffer, and multiple buffer overflow issues that can be exploited to execute code remotely by crafting specially formatted XML files. Details are provided on the exploitation techniques and timeline of coordination with Swisscom to address the vulnerabilities.
This document provides recipes and explanations for using SSH tunneling techniques. SSH tunneling allows creating encrypted tunnels through an SSH connection to securely access services, bypass firewalls and censorship, and forward X11 applications. It discusses local and remote port forwarding, dynamic SOCKS proxying, and tools like autossh and sslh. Common uses of SSH tunneling include securely accessing services on insecure networks, circumventing censorship, opening firewall ports dynamically through port knocking, and forwarding graphical X11 applications remotely.
This document provides information on configuring network settings on Linux Redhat systems. It discusses using ifconfig to configure interfaces, setting a default gateway and static routes. It also describes the network configuration files - /etc/hosts, /etc/resolv.conf, /etc/sysconfig/network, and /etc/sysconfig/network-scripts/ifcfg files. Specific parameters that can be configured in the ifcfg files are outlined. The document concludes with discussing using the Network Administration Tool and configuring DHCP.
This document summarizes a port knocking challenge from the PHD CTF Quals 2011. Port knocking involves sequentially sending SYN packets to closed ports to trigger a service to open a specific port. The challenge involved knocking on 7 ports in the correct order to open an FTP server on another port. Two Python scripts are provided as solutions: one uses Scapy to send the port knocks, while another runs a series of Nmap scans to test the open ports. Advantages and disadvantages of port knocking are also discussed.
Monit is an open source tool that monitors systems and applications and automatically restarts services if they fail or exceed configurable resource limits. It can monitor files, directories, processes, hosts, and custom scripts/programs. Monit is configured via a global configuration file and additional files for specific checks. It can monitor system resources, file integrity, network interfaces, remote hosts, and check for service dependencies. Monit also includes a web interface for monitoring and management.
This document provides instructions for completing 12 tasks to configure access control lists on routers. The tasks include configuring IP addresses, inter-VLAN routing, EIGRP routing, DNS, Telnet/SSH access, and ACLs to restrict traffic between VLANs and access to websites based on the VLAN. Detailed configuration steps are provided for each router to implement the access controls and routing as outlined in the tasks.
This document discusses socket programming in C. It begins with an introduction to sockets, describing them as an interface between applications and networks that allows processes to communicate. It then covers the client-server model and types of sockets like stream and datagram. The main socket APIs are explained, including functions for creating, binding, listening, connecting, sending, receiving and closing sockets. Examples of socket programming with UDP and TCP are provided, showing the typical functions used in each case. The document concludes by noting that files can also be sent over sockets and models for handling multiple clients like process, thread and worker pools.
This document provides an overview of the TCP/IP protocol stack. It describes the layers of the TCP/IP model including the application layer (FTP, SMTP, etc.), transport layer (TCP, UDP), internet layer (IP, ICMP), and link layer (ARP, RARP). It explains the functions of TCP and UDP, IP datagrams, ICMP messages, and ARP/RARP address resolution.
Software Networking and Interfaces on LinuxMatt Turner
These are the days of VMs, containers, and service meshes. The network, for a long time the sysadmin’s mysterious domain, is now at the fore-front: providing overlays, security features, and headaches. It’s vital to be able to understand what’s going on under the hood of a cloud-native platform if you ever hope to debug it, but do you know a TAP from a TUN, let alone an ipvlanL3? This talk will take you through all the network interface types on modern linux, from good old eth0 to the vEths used by Docker and the tunnels used by Calico.
Eincop Netwax Lab: Site 2 Site VPN with Routing ProtocolsNetwax Lab
This document provides instructions for configuring routing protocols and a site-to-site VPN between HQ and BR1 networks. The tasks include: 1) configuring EIGRP and RIP routing with redistribution to ensure HQ_R2 learns all routes, 2) enabling MD5 authentication on EIGRP 200, 3) establishing an IPsec VPN between HQ and BR1 to permit access only to BR1 loopback addresses from HQ_R2, and 4) summarizing the BR1 loopback routes into OSPF area 0 on BR1.
The document provides instructions for configuring IPv6 on a network topology. It includes tasks to configure IPv6 addresses on routers, configure Frame-Relay over IPv6, assign IPv6 addresses to routers through autoconfiguration, and configure OSPF routing between the routers.
Operations security - SyPy Dec 2014 (Sydney Python users)Mikko Ohtamaa
This document discusses operational security (OPSEC) for teams, users, and infrastructure related to Bitcoin exchanges. It recommends encrypting devices, using two-factor authentication, password managers, login throttling, third-factor authentication parameters like browser fingerprinting and IP whitelisting to strengthen security. Infrastructure security topics covered include fail2ban, Cloudflare, log storage and backups, and intrusion detection. The goal is to mitigate threats like phishing, malware, and physical attacks against systems handling valuable Bitcoin transactions.
This document discusses Python tools for reverse engineering. It introduces the author and their background in security research. It then provides an overview of existing Python libraries for reverse engineering tasks like disassembly, debugging, fuzzing, and analysis. These include libraries that interface with tools like IDA Pro, gdb, bochs, and more. The document proposes creating a web portal to catalog these Python reverse engineering tools, including descriptions and a search function. It concludes by soliciting feedback on the idea and future work.
This document outlines a presentation on how a hacker views a website. It includes sections on introduction, demonstration, tools, CERT-FR, and questions. Tools mentioned include nmap, netdiscover, Wpscan, nessus, nikto, John, Burp, metasploit, sqlmap, and Github for information gathering, vulnerability assessment, and exploitation. It recommends checking the CERT-FR website and following their Twitter account for security advisories.
This document provides an overview of advanced socket programming concepts including socket options, POSIX name and address conversion functions like getaddrinfo() and getnameinfo(), out-of-band data, and signal driven I/O. It describes common socket options, their uses, and functions for getting and setting option values. It also summarizes POSIX replacement functions for hostname lookups and discusses how out-of-band data can be used to send high priority messages and when SIGIO signals may be generated.
Ziglu runs kubernetes and Istio in production, and it adds up to a complicated system. In order to debug deeply one day, Matt had to dive into the inner workings of Docker networking, virtual switches, and sidecar containers. This talk will share what he learned about off these systems, in the hope it’ll save other people time!
This document discusses connecting an Arduino to the internet and controlling it remotely. It provides code examples for connecting an Arduino to WiFi, getting the time from an NTP server, making HTTP requests, and using the Blynk platform to enable remote control of an Arduino project from a mobile phone app.
The document describes a Secure Active Switch (SAS) system that implements modifications to the Linux kernel bridge to prevent ARP poisoning attacks on a local network. The SAS runs on an embedded system using a ColdFire Motorola processor. It functions as an active network switch that can detect and block ARP attacks by monitoring packets and learning the MAC-IP bindings. Testing showed the SAS successfully blocked ARP poisoning attempts while only adding around 1% more latency to regular network traffic.
1. The document describes configuring IP addresses, DNS, a site-to-site GRE VPN between routers R5 and R6, and a DMVPN network between routers R1, R2, and R3.
2. For the GRE VPN, ISAKMP and IPsec are configured on R5 and R6 using a preshared key of "netwaxlab" to secure the GRE tunnel.
3. For the DMVPN, R1 is configured as a hub router and R2 and R3 as spoke routers. ISAKMP and IPsec are configured using a preshared key of "netwaxlab" to secure the GRE tunnels between the routers.
The document describes tasks for configuring a zone-based firewall on Router 1:
1. Create an inside and outside zone on Router 1's interfaces; apply an inspect policy between the zones to allow necessary traffic.
2. Configure R2 to ping R3 by name by adding DNS and host entries.
3. Configure R2 to copy a file from R4's HTTP server using the file path and name.
4. Configure R2 as the NTP server and have the other routers synchronize to it after applying necessary firewall policies.
The document discusses reverse engineering the firmware of Swisscom's Centro Grande modems. It identifies several vulnerabilities found, including a command overflow issue that allows complete control of the device by exceeding the input buffer, and multiple buffer overflow issues that can be exploited to execute code remotely by crafting specially formatted XML files. Details are provided on the exploitation techniques and timeline of coordination with Swisscom to address the vulnerabilities.
This document provides recipes and explanations for using SSH tunneling techniques. SSH tunneling allows creating encrypted tunnels through an SSH connection to securely access services, bypass firewalls and censorship, and forward X11 applications. It discusses local and remote port forwarding, dynamic SOCKS proxying, and tools like autossh and sslh. Common uses of SSH tunneling include securely accessing services on insecure networks, circumventing censorship, opening firewall ports dynamically through port knocking, and forwarding graphical X11 applications remotely.
This document provides information on configuring network settings on Linux Redhat systems. It discusses using ifconfig to configure interfaces, setting a default gateway and static routes. It also describes the network configuration files - /etc/hosts, /etc/resolv.conf, /etc/sysconfig/network, and /etc/sysconfig/network-scripts/ifcfg files. Specific parameters that can be configured in the ifcfg files are outlined. The document concludes with discussing using the Network Administration Tool and configuring DHCP.
This document summarizes a port knocking challenge from the PHD CTF Quals 2011. Port knocking involves sequentially sending SYN packets to closed ports to trigger a service to open a specific port. The challenge involved knocking on 7 ports in the correct order to open an FTP server on another port. Two Python scripts are provided as solutions: one uses Scapy to send the port knocks, while another runs a series of Nmap scans to test the open ports. Advantages and disadvantages of port knocking are also discussed.
Monit is an open source tool that monitors systems and applications and automatically restarts services if they fail or exceed configurable resource limits. It can monitor files, directories, processes, hosts, and custom scripts/programs. Monit is configured via a global configuration file and additional files for specific checks. It can monitor system resources, file integrity, network interfaces, remote hosts, and check for service dependencies. Monit also includes a web interface for monitoring and management.
This document provides instructions for completing 12 tasks to configure access control lists on routers. The tasks include configuring IP addresses, inter-VLAN routing, EIGRP routing, DNS, Telnet/SSH access, and ACLs to restrict traffic between VLANs and access to websites based on the VLAN. Detailed configuration steps are provided for each router to implement the access controls and routing as outlined in the tasks.
This document discusses socket programming in C. It begins with an introduction to sockets, describing them as an interface between applications and networks that allows processes to communicate. It then covers the client-server model and types of sockets like stream and datagram. The main socket APIs are explained, including functions for creating, binding, listening, connecting, sending, receiving and closing sockets. Examples of socket programming with UDP and TCP are provided, showing the typical functions used in each case. The document concludes by noting that files can also be sent over sockets and models for handling multiple clients like process, thread and worker pools.
This document provides an overview of the TCP/IP protocol stack. It describes the layers of the TCP/IP model including the application layer (FTP, SMTP, etc.), transport layer (TCP, UDP), internet layer (IP, ICMP), and link layer (ARP, RARP). It explains the functions of TCP and UDP, IP datagrams, ICMP messages, and ARP/RARP address resolution.
Software Networking and Interfaces on LinuxMatt Turner
These are the days of VMs, containers, and service meshes. The network, for a long time the sysadmin’s mysterious domain, is now at the fore-front: providing overlays, security features, and headaches. It’s vital to be able to understand what’s going on under the hood of a cloud-native platform if you ever hope to debug it, but do you know a TAP from a TUN, let alone an ipvlanL3? This talk will take you through all the network interface types on modern linux, from good old eth0 to the vEths used by Docker and the tunnels used by Calico.
Eincop Netwax Lab: Site 2 Site VPN with Routing ProtocolsNetwax Lab
This document provides instructions for configuring routing protocols and a site-to-site VPN between HQ and BR1 networks. The tasks include: 1) configuring EIGRP and RIP routing with redistribution to ensure HQ_R2 learns all routes, 2) enabling MD5 authentication on EIGRP 200, 3) establishing an IPsec VPN between HQ and BR1 to permit access only to BR1 loopback addresses from HQ_R2, and 4) summarizing the BR1 loopback routes into OSPF area 0 on BR1.
The document provides instructions for configuring IPv6 on a network topology. It includes tasks to configure IPv6 addresses on routers, configure Frame-Relay over IPv6, assign IPv6 addresses to routers through autoconfiguration, and configure OSPF routing between the routers.
Operations security - SyPy Dec 2014 (Sydney Python users)Mikko Ohtamaa
This document discusses operational security (OPSEC) for teams, users, and infrastructure related to Bitcoin exchanges. It recommends encrypting devices, using two-factor authentication, password managers, login throttling, third-factor authentication parameters like browser fingerprinting and IP whitelisting to strengthen security. Infrastructure security topics covered include fail2ban, Cloudflare, log storage and backups, and intrusion detection. The goal is to mitigate threats like phishing, malware, and physical attacks against systems handling valuable Bitcoin transactions.
This document discusses Python tools for reverse engineering. It introduces the author and their background in security research. It then provides an overview of existing Python libraries for reverse engineering tasks like disassembly, debugging, fuzzing, and analysis. These include libraries that interface with tools like IDA Pro, gdb, bochs, and more. The document proposes creating a web portal to catalog these Python reverse engineering tools, including descriptions and a search function. It concludes by soliciting feedback on the idea and future work.
The document discusses steganography, which is hiding secret messages within other harmless-looking files or messages. It describes how steganography embeds information in a way that prevents unauthorized parties from even knowing a hidden message has been sent. The document outlines some common techniques for hiding information in digital images, such as modifying least significant bits or using masking and filtering algorithms. It also notes that steganography can be used for confidential communication and secret data storage. Finally, it discusses how Python can be used to implement steganography, listing several Python modules like binascii, getpass, simplecrypt, and Pillow that are useful for steganography applications.
PyCon India 2009 Presentation Python tools for Network Security
The document discusses various Python tools for network security including Pypcap, Dpkt and Scapy. It provides an overview of packet capture and inspection capabilities of these tools and code examples to capture and analyze network packets. Specific examples demonstrated include an HTTP protocol sniffer, host scanning and DNS queries using Scapy.
O documento discute técnicas de pentesting usando Python. Ele apresenta vários scripts Python para realizar atividades como varredura de portas, varredura de meio-aberto, varredura FIN e coleta de informações de cabeçalhos HTTP para testar vulnerabilidades em redes. O documento também discute conceitos como pentesting, hackers vs pentesters e porque usar a linguagem Python para pentesting.
This document outlines the agenda for a workshop on network programming in Python. It will cover core networking concepts like TCP, UDP, and IP protocols. It will teach elementary sockets programming and working with common protocols like DNS, HTTP, FTP, and SSL. The workshop will also cover network errors, using third party libraries like Scapy and Impacket, raw sockets, and scenario-based scripts. The goal is to help participants master the layers of the protocol stack and move beyond the content after the workshop.
This document provides an overview of using Python to build security tools. It covers Python basics like variables, data types, strings, lists, tuples, dictionaries, loops, functions, reading user input and working with files. It also demonstrates using Python modules for tasks like SSH client automation with Paramiko, working with IP addresses and subnets using NetAddr, and web automation with requests. The goal is to provide examples to help readers develop tools for tasks like port scanning, database access, and network automation.
Offensive cyber security: Smashing the stack with PythonMalachi Jones
: A necessary step in writing secure code is having an understanding of how vulnerable code can be exploited. This step is critical because unless you see the software from the vantage point of a hacker, what may look to be safe and harmless code, can have multiple vulnerabilities that result in systems running that software getting p0wned. The goal of this tech talk is to provide a step-by-step illustration of how not adhering to secure software design principles such as properly bounds checking buffers can open up computing devices to exploitation. Specifically, we will show that by using a very easy to use scripting language like python, we can do the following: 1) Smash the stack of a system running vulnerable code to gain arbitrary access. 2) Install a key logger that can phone home to a command and control server.
Using Python, the author has developed a program that learns about protocol formats, with the main goal in being useful for Deep Packet Inspection. Deep Packet Inspection is a process mainly used in network security to ensure integrity of network data sent across the network. Deep Packet Inspection is used to pre-empt and prevent malicious data from being transmitted over a network in order to ensure the security of the organization.
http://tw.pycon.org/2015apac/en/lightning_en
Bringing Down the House - How One Python Script Ruled Over AntiVirusCTruncer
This talk is about how a single python tool (Veil aka Veil-Evasion) is able to render AntiVirus useless. Veil's goal is to bypass antivirus products on workstations and servers.
This document discusses using Python for penetration testing and security tasks. It notes that Python has a simple learning curve, extensive libraries, and is multiplatform, making it useful for quick prototyping and easier automation. Python can be used for exploit development, networking, debugging, encryption/decryption, reverse engineering, fuzzing, web applications, forensics, and malware analysis. Popular Python security tools include TMSET, TMCore Impact, TMW3AF, TMSqlmap, TMImmunityDebugger, TMImpacket, and TMIronWASP. The document provides examples of using Python for port scanning, creating a one-line web server, and exploit development. It also lists useful Python
This document discusses using Python for web penetration testing. It begins with an introduction of the speaker. The objectives are to focus only on Python and introduce its functionality for penetration testers. Example existing Python tools are listed like w3af, sqlmap, and Scapy. Notable Python modules that are discussed include Requests for making HTTP requests, BeautifulSoup for parsing HTML, and Argparse for creating command line programs. Demonstrations include regular expression matching, XSS fuzzing, and extracting files from exposed .svn folders. References are provided for learning Python through online courses and books.
The basics of Python are rather straightforward. In a few minutes you can learn most of the syntax. There are some gotchas along the way that might appear tricky. This talk is meant to bring programmers up to speed with Python. They should be able to read and write Python.
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.
This document contains information about TCP/IP sockets and network programming in C, including:
1) It defines the sockaddr_in structure for IPv4 socket addressing with fields for the address family, port number, and 32-bit IPv4 address.
2) It describes the basic socket calls like socket(), bind(), listen(), accept(), connect(), read(), write(), and close() used for network programming.
3) It provides code examples for a simple TCP echo client and server to illustrate how these socket calls are used for communication between networked applications.
The Raspberry Pi is a series of credit card–sized single-board computers developed in the UK by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools.
The original Raspberry Pi and Raspberry Pi 2 are manufactured in several board configurations through licensed manufacturing agreements with Newark element14 (Premier Farnell), RS Components and Egoman. These companies sell the Raspberry Pi online. Egoman produces a version for distribution solely in China and Taiwan, which can be distinguished from other Pis by their red colouring and lack of FCC/CE marks. The hardware is the same across all manufacturers.
The original Raspberry Pi is based on the Broadcom BCM2835 system on a chip (SoC), which includes an ARM1176JZF-S 700 MHz processor, VideoCore IV GPU, and was originally shipped with 256 megabytes of RAM, later upgraded (models B and B+) to 512 MB. The system has Secure Digital (SD) (models A and B) or MicroSD (models A+ and B+) sockets for boot media and persistent storage.
The document discusses sockets and the client-server model for interprocess communication. It describes what sockets are, the different types of sockets (STREAM, DATAGRAM, RAW), and how they are used for reliable and unreliable communication between processes. It provides code examples for creating, connecting, sending, receiving and closing sockets in both client and server applications using TCP and UDP. Key system calls for sockets like socket(), bind(), listen(), accept(), connect(), send(), recv(), close() are also explained.
Please help with the below 3 questions, the python script is at the.pdfsupport58
The document provides a python script for implementing a basic ping program and includes 3 questions to modify the program. Question 1 asks about typical differences in ping times for local vs remote hosts. Question 2 asks to modify the program to calculate and print minimum, maximum, and average ping times and packet loss rate. Question 3 asks to modify the program to parse ICMP error codes from responses. The document also provides context about ping programs and ICMP and describes the provided python code as a starting skeleton to build out the ping functionality.
A scenario on basic incident response and showing how Microsoft uses a service that automatically creates a Man in the Middle incident. It also covers an overview on some inherent tools and how to use them for security operations
Upon reading the document, the key steps in a router's start-up process can be summarized as follows:
1. When power is applied, the router performs a power-on self-test and loads the bootstrap code from ROM to initialize hardware and find the IOS image.
2. The IOS image is then loaded from flash memory or another source such as TFTP into RAM where it is decompressed and executed.
3. The startup configuration is loaded, typically from NVRAM. If no configuration is present, the router enters setup mode to configure initial settings.
Sockets provide an abstraction for network communication between processes. They define endpoints for connections that are identified by IP addresses and port numbers. There are two main types - stream sockets which provide reliable connected service using TCP, and datagram sockets which provide unreliable datagram service using UDP. To use sockets, an application creates a socket, binds it to an address, listens/accepts for incoming connections, and sends/receives data. Key functions include socket(), bind(), listen(), accept(), connect(), send(), and recv(). Select() allows monitoring multiple sockets to avoid blocking. Proper use requires consideration of addressing, port numbers, error handling, and blocking behavior.
The document discusses Inter-Integrated Circuit (I2C) drivers in Linux. It covers I2C protocol basics like start/stop conditions and transactions. It then describes the I2C subsystem in Linux including I2C adapter, client and core drivers. It also discusses registering I2C devices without and with device tree, and provides examples of I2C client drivers.
Cisco Malware: A new risk to consider in perimeter security designsManuel Santander
The networking equipment like switches and routers have historically been considered as passive elements in implementations of the security architecture. However, the new programming capabilities of these devices involve the risk of malicious software. If this risk materializes, imagine the consequences to the company\'s information. This presentation shows proof of concept on what features could support a malware inside IOS devices, how to detect it, how to remediate it and how to minimize the risk of occurrence within a security architecture.
This document provides an overview of socket programming in C# and discusses UDP and TCP sockets. It begins with an agenda that reviews sockets and covers the Socket, UdpClient, TcpListener, and TcpClient classes in C#. It then explains the goals of socket programming and the differences between UDP and TCP. Examples are provided of UDP and TCP client-server applications in C# using the Socket class to demonstrate how data is sent and received. Finally, it lists references and assigns students to create a UDP chat client-server application using the Socket class on the client side and UdpClient class on the server side.
Python is a computer programming language often used to build websites and software, automate tasks, and conduct data analysis. Python is a general-purpose language, meaning it can be used to create a variety of different programs and isn't specialized for any specific problems.
This document provides an overview of socket programming in Java. It discusses how client-server applications use sockets to communicate over a network. Sockets are identified by an IP address and port number. The document explains TCP and UDP socket programming in Java. For TCP, it describes how the server creates a welcoming socket to accept client connections. For both TCP and UDP, it outlines the basic interactions between client and server sockets. The document concludes by noting that socket programming is easy in Java and real-time applications typically use threads to handle each socket.
This document discusses several ways of programming network communication in Python including:
1. Getting the hostname and IP address of the local system using the socket module.
2. Creating sockets for both client and server programs to allow communication over TCP/IP networks. Sockets can be bound to ports and listen for connections.
3. Exchanging data between connected client and server sockets by sending and receiving fixed sizes of data.
4. Looking up service names for well known ports like HTTP and DNS.
5. Setting timeout values for sockets.
6. Providing examples of basic TCP client and server programs as well as a file transfer between client and server.
Simulate Complete DNP3 RTU Outstation Server. using Serial(RS232, RS485), TCP/IP, UDP communication
Add up to 50 server node in the simulator. Every server node will work independently.
Binary Input, Double-bit Binary Input, Binary Output, Counter Input, Analog Input, Analog output, Octect String, virtual terminal String.
support CROB, analog output command with "select-before-operate" or "direct-execute" command execution modes
Industry proven, tested with all leading test tools
Features
Multiple Server Simulation
Supports Serial, TCP, UDP Communication
Level 3 Compliance
Supports unsolicited response, Octect String, Virtual Terminal Output
Supports "select-before-operate" or "direct-execute" command execution modes
Supports, frozen counter input, frozen analog input typeids,
Support File Transfer(File read, file write), Directory commands
support Device Attributes
Transparent licensing scheme - No hidden costs, No deferred payments.
High performance, robust and scalable architecture
Support Binary Output(CROB) and Analog Output Commands
Industry Proven * tested with all leading test tools
wide. Customer can install the software in many systems. There is no restriction like Hardware key (Dongle) and software key.
The document discusses socket programming and provides an overview of client-server applications using sockets. It describes how sockets allow for interprocess communication using the client-server model. The key steps for creating TCP and UDP client and server applications in both C and Java programming languages are outlined, including how to create sockets, bind sockets, connect sockets, send and receive data. Code examples of a TCP client and server application written in C are also provided.
This document provides an overview of socket programming in C. It discusses the key steps which include creating a socket, identifying the socket through binding, connecting from a client or accepting connections as a server, communicating via sending and receiving data, and closing the connection. It also covers related topics such as socket addresses and data types, asynchronous I/O, and Unix domain sockets. Code examples are provided to demonstrate creating and binding a socket in C.
1) RPC (Remote Procedure Call) allows a client to call procedures or functions on a remote server. The client specifies the server address and port to communicate.
2) An RPC system requires three files - an X file defining remote functions, a server C++ file implementing these functions, and a client C++ file to call the functions.
3) The tutorial provides example code of these three files to demonstrate a simple message passing between an RPC client and server. The client can call the "printmessage" function defined on the server to display a message.
This document discusses client-server programming and socket programming. It begins by explaining the client-server model, where the client initiates contact with the server to request a service. It then covers application layer programming using sockets as the interface. Sockets provide an abstraction for network communication, representing an endpoint. The document outlines functions for creating, binding, listening for connections on server sockets, and accepting connections from client sockets. It also summarizes basic socket calls for messaging passing between connected sockets.
This document discusses client-server programming and socket programming. It begins by explaining the client-server model, where the client initiates contact with the server to request a service. It then covers application layer programming using sockets as the interface. Sockets provide an abstraction for network communication, representing an endpoint. The document outlines functions for creating, binding, listening for connections, accepting connections, and sending/receiving data with sockets. It also discusses related topics like network byte order, utility functions, and address data structures.
Similar to اسلاید دوم جلسه یازدهم کلاس پایتون برای هکر های قانونی (20)
This document discusses the history of open source software and the internet from the 1960s to the present. It notes that in the 1970s, software was generally shared as a hobby but some argued developers should be paid. The first UNIX operating system source code was released to universities in 1977. The document encourages contributing to open source projects through testing, reporting bugs, answering questions, and participating in communities to avoid working alone.
This document introduces the Flask micro web framework. It discusses that Flask provides URL routing, request and response objects, template engines and other features for web development. Flask is simple and extensible, using Werkzeug and Jinja2. It does not include an ORM or form validation, but supports extensions. The document provides examples of basic routing, using request objects, templates and the development server. It also discusses using SQLAlchemy, WTForms and common patterns like MVC with Flask projects.
جلسه ۱۸۶ تهران لاگ
By: Mohammad reza Kamalifard
این ارائه در خصوص انواع حمله کنندگان آنلاین ، حملات دولت ها حریم شخصی کاربران و راه حل ها آن محصولی از DSME است
http://datasec.ir
ارائه شده توسط: محمد رضا کمالی فرد
در این جلسه از کلاس به معرفی ساختار های داده ای در زبان پایتون و معرفی رشته ها و اعداد میپردازیم
PySec101 Fall 2013 J2E1 By Mohammad Reza Kamalifard
Talk About
Python Data Structures, Strings, Numbers,...
در این جلسه از کلاس به ساختار های داده
Set, Tuple, Dictionary
پرداختیم
PySec101 Fall 2013 J3E1 By Mohammad Reza Kamalifard
Talk About :
Sets,Tuples and Dictionary Data Types in Python
در این جلسه به بررسی ساختار های شرطی و حلقه ها در پایتون پرداختیم
PySec101 Fall 2013 J4E1 By Mohammad Reza Kamalifard
Talk About:
Statements: Conditional Statements and Loop Statements
This document discusses modular programming in Python for ethical hackers. Modular programming breaks code into separate modules to make programs more readable, reliable, and maintainable. A module in Python is a file containing definitions and statements, and takes its name from the file name minus the .py extension. The document demonstrates creating a calculator module with add and sub functions, and importing and using those functions in a test program. It recommends several references for further reading on Python modules and programming.
در این جلسه به بحث
Namespace
Local and Global variables
پرداختیم
PySec101 Fall 2013 J6E2 By Mohammad Reza Kamalifard
Talk About:
Namespace and Local,Global variables in Python
در این جلسه به بررسی بحث برنامه نویسی شی گرا و کلاس ها در پایتون پرداختیم
PySec101 Fall 2013 J7E1 By Mohammad Reza Kamalifard
Talk About:
Object oriented programming and Classes in Python
در این جلسه از کلاس در خصوص تاریخچه پایتون و زبان پایتون صحبت شد
PySec101 Fall 2013 J1E1 By Mohammad Reza Kamalifard
Talk about : Python History and Python language Essentials.
The document discusses signals in Python programming. It defines signals as allowing handling of asynchronous events. It provides examples of common signals like SIGINT and SIGKILL. It also demonstrates how to write a signal handler in Python to intercept Ctrl-C keyboard interrupts and print a custom message, showing how signals can be used to prevent programs from terminating normally.
The document discusses multi-threaded programming and queues in Python. It describes how to create and manage threads using the thread and threading modules, including starting new threads and getting information about active threads. It also explains how to use queues to coordinate work between threads, including putting and getting items from the queue and waiting for tasks to complete. An example demonstrates creating worker threads that process tasks from a queue and notify the queue when finished.
The document discusses the subprocess module in Python, which allows Python programs to spawn new processes and connect to their input/output/error pipes. It provides examples of using subprocess.call() to run system commands like ls and ps, and subprocess.check_output() to capture the output of commands. The subprocess module intends to replace older modules for process management like os.system, os.spawn, and popen2.
The document discusses Python classes and object-oriented programming concepts. It defines key terms like class, object, method, and inheritance. It provides examples of creating a basic Employee class with methods and instance variables. It also covers class variables, accessing object attributes, adding/removing attributes, inheritance, and overriding methods in subclasses. The goal is to teach Python language essentials for object-oriented programming.
Forking duplicates a process, creating a child process that is identical to the parent. The fork() call returns 0 in the child process and the child's PID in the parent. This allows the parent and child processes to execute independently with different PIDs. Exec functions like execvp() overlay the parent process with a new program, replacing the current process instead of duplicating it like fork().
This document discusses Python directory navigation and file management. It shows how to use the os module to get the current working directory, list files in a directory, create and remove directories, check if an item is a file or directory, and traverse a directory listing files and their types. Code examples demonstrate os.getcwd(), os.listdir(), os.mkdir(), os.rmdir(), and os.path.isfile() and os.path.isdir() to interact with directories and files in Python.
This document discusses file handling in Python. It covers opening, reading, writing, and closing files using functions like open(), read(), write(), and close(). It demonstrates creating a file, appending to it, and reading it line by line. It also shows renaming and removing files using the os module functions os.rename() and os.remove(). The full list of file access modes like read, write, and append are also described.
How to Make a Field Mandatory in Odoo 17Celine George
In Odoo, making a field required can be done through both Python code and XML views. When you set the required attribute to True in Python code, it makes the field required across all views where it's used. Conversely, when you set the required attribute in XML views, it makes the field required only in the context of that particular view.
A Visual Guide to 1 Samuel | A Tale of Two HeartsSteve Thomason
These slides walk through the story of 1 Samuel. Samuel is the last judge of Israel. The people reject God and want a king. Saul is anointed as the first king, but he is not a good king. David, the shepherd boy is anointed and Saul is envious of him. David shows honor while Saul continues to self destruct.
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumMJDuyan
(𝐓𝐋𝐄 𝟏𝟎𝟎) (𝐋𝐞𝐬𝐬𝐨𝐧 𝟏)-𝐏𝐫𝐞𝐥𝐢𝐦𝐬
𝐃𝐢𝐬𝐜𝐮𝐬𝐬 𝐭𝐡𝐞 𝐄𝐏𝐏 𝐂𝐮𝐫𝐫𝐢𝐜𝐮𝐥𝐮𝐦 𝐢𝐧 𝐭𝐡𝐞 𝐏𝐡𝐢𝐥𝐢𝐩𝐩𝐢𝐧𝐞𝐬:
- Understand the goals and objectives of the Edukasyong Pantahanan at Pangkabuhayan (EPP) curriculum, recognizing its importance in fostering practical life skills and values among students. Students will also be able to identify the key components and subjects covered, such as agriculture, home economics, industrial arts, and information and communication technology.
𝐄𝐱𝐩𝐥𝐚𝐢𝐧 𝐭𝐡𝐞 𝐍𝐚𝐭𝐮𝐫𝐞 𝐚𝐧𝐝 𝐒𝐜𝐨𝐩𝐞 𝐨𝐟 𝐚𝐧 𝐄𝐧𝐭𝐫𝐞𝐩𝐫𝐞𝐧𝐞𝐮𝐫:
-Define entrepreneurship, distinguishing it from general business activities by emphasizing its focus on innovation, risk-taking, and value creation. Students will describe the characteristics and traits of successful entrepreneurs, including their roles and responsibilities, and discuss the broader economic and social impacts of entrepreneurial activities on both local and global scales.
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPRAHUL
This Dissertation explores the particular circumstances of Mirzapur, a region located in the
core of India. Mirzapur, with its varied terrains and abundant biodiversity, offers an optimal
environment for investigating the changes in vegetation cover dynamics. Our study utilizes
advanced technologies such as GIS (Geographic Information Systems) and Remote sensing to
analyze the transformations that have taken place over the course of a decade.
The complex relationship between human activities and the environment has been the focus
of extensive research and worry. As the global community grapples with swift urbanization,
population expansion, and economic progress, the effects on natural ecosystems are becoming
more evident. A crucial element of this impact is the alteration of vegetation cover, which plays a
significant role in maintaining the ecological equilibrium of our planet.Land serves as the foundation for all human activities and provides the necessary materials for
these activities. As the most crucial natural resource, its utilization by humans results in different
'Land uses,' which are determined by both human activities and the physical characteristics of the
land.
The utilization of land is impacted by human needs and environmental factors. In countries
like India, rapid population growth and the emphasis on extensive resource exploitation can lead
to significant land degradation, adversely affecting the region's land cover.
Therefore, human intervention has significantly influenced land use patterns over many
centuries, evolving its structure over time and space. In the present era, these changes have
accelerated due to factors such as agriculture and urbanization. Information regarding land use and
cover is essential for various planning and management tasks related to the Earth's surface,
providing crucial environmental data for scientific, resource management, policy purposes, and
diverse human activities.
Accurate understanding of land use and cover is imperative for the development planning
of any area. Consequently, a wide range of professionals, including earth system scientists, land
and water managers, and urban planners, are interested in obtaining data on land use and cover
changes, conversion trends, and other related patterns. The spatial dimensions of land use and
cover support policymakers and scientists in making well-informed decisions, as alterations in
these patterns indicate shifts in economic and social conditions. Monitoring such changes with the
help of Advanced technologies like Remote Sensing and Geographic Information Systems is
crucial for coordinated efforts across different administrative levels. Advanced technologies like
Remote Sensing and Geographic Information Systems
9
Changes in vegetation cover refer to variations in the distribution, composition, and overall
structure of plant communities across different temporal and spatial scales. These changes can
occur natural.
This document provides an overview of wound healing, its functions, stages, mechanisms, factors affecting it, and complications.
A wound is a break in the integrity of the skin or tissues, which may be associated with disruption of the structure and function.
Healing is the body’s response to injury in an attempt to restore normal structure and functions.
Healing can occur in two ways: Regeneration and Repair
There are 4 phases of wound healing: hemostasis, inflammation, proliferation, and remodeling. This document also describes the mechanism of wound healing. Factors that affect healing include infection, uncontrolled diabetes, poor nutrition, age, anemia, the presence of foreign bodies, etc.
Complications of wound healing like infection, hyperpigmentation of scar, contractures, and keloid formation.
The chapter Lifelines of National Economy in Class 10 Geography focuses on the various modes of transportation and communication that play a vital role in the economic development of a country. These lifelines are crucial for the movement of goods, services, and people, thereby connecting different regions and promoting economic activities.
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxEduSkills OECD
Iván Bornacelly, Policy Analyst at the OECD Centre for Skills, OECD, presents at the webinar 'Tackling job market gaps with a skills-first approach' on 12 June 2024
This presentation was provided by Racquel Jemison, Ph.D., Christina MacLaughlin, Ph.D., and Paulomi Majumder. Ph.D., all of the American Chemical Society, for the second session of NISO's 2024 Training Series "DEIA in the Scholarly Landscape." Session Two: 'Expanding Pathways to Publishing Careers,' was held June 13, 2024.
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...PECB
Denis is a dynamic and results-driven Chief Information Officer (CIO) with a distinguished career spanning information systems analysis and technical project management. With a proven track record of spearheading the design and delivery of cutting-edge Information Management solutions, he has consistently elevated business operations, streamlined reporting functions, and maximized process efficiency.
Certified as an ISO/IEC 27001: Information Security Management Systems (ISMS) Lead Implementer, Data Protection Officer, and Cyber Risks Analyst, Denis brings a heightened focus on data security, privacy, and cyber resilience to every endeavor.
His expertise extends across a diverse spectrum of reporting, database, and web development applications, underpinned by an exceptional grasp of data storage and virtualization technologies. His proficiency in application testing, database administration, and data cleansing ensures seamless execution of complex projects.
What sets Denis apart is his comprehensive understanding of Business and Systems Analysis technologies, honed through involvement in all phases of the Software Development Lifecycle (SDLC). From meticulous requirements gathering to precise analysis, innovative design, rigorous development, thorough testing, and successful implementation, he has consistently delivered exceptional results.
Throughout his career, he has taken on multifaceted roles, from leading technical project management teams to owning solutions that drive operational excellence. His conscientious and proactive approach is unwavering, whether he is working independently or collaboratively within a team. His ability to connect with colleagues on a personal level underscores his commitment to fostering a harmonious and productive workplace environment.
Date: May 29, 2024
Tags: Information Security, ISO/IEC 27001, ISO/IEC 42001, Artificial Intelligence, GDPR
-------------------------------------------------------------------------------
Find out more about ISO training and certification services
Training: ISO/IEC 27001 Information Security Management System - EN | PECB
ISO/IEC 42001 Artificial Intelligence Management System - EN | PECB
General Data Protection Regulation (GDPR) - Training Courses - EN | PECB
Webinars: https://pecb.com/webinars
Article: https://pecb.com/article
-------------------------------------------------------------------------------
For more information about PECB:
Website: https://pecb.com/
LinkedIn: https://www.linkedin.com/company/pecb/
Facebook: https://www.facebook.com/PECBInternational/
Slideshare: http://www.slideshare.net/PECBCERTIFICATION
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
اسلاید دوم جلسه یازدهم کلاس پایتون برای هکر های قانونی
1. Python for Ethical Hackers
Mohammad reza Kamalifard
Kamalifard@datasec.ir
2. Python Language Essentials
Module 3 : Network Security
Part 2 :
SocketServer Framework
Mohammad reza Kamalifard
Kamalifard.ir/pysec101
3. Python Language Essentials
Module 3 : Network Security
Part 2 :
SocketServer Framework
Mohammad reza Kamalifard
Kamalifard.ir/pysec101
4. Client side
import socket
import sys
if len(sys.argv) < 3 :
print 'Please Enter address and port'
exit()
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp_socket.connect((sys.argv[1], int(sys.argv[2])))
while True:
userInput = raw_input('Please Enter a Message! : ')
tcp_socket.send(userInput)
print 'Server Send back : ' + str(tcp_socket.recv(2048))
tcp_socket.close()
Mohammad reza Kamalifard
Kamalifard.ir/pysec101
5. -----Client-----
python client.py 127.0.0.1 8000
Please Enter a Message! : Salam
Server Send back : Salam
Please Enter a Message! : WELCOME TO PYSEC101!
Server Send back : WELCOME TO PYSEC101!
Please Enter a Message! :
-----Server-----
Waiting for client ...
Revived connection from : 127.0.0.1
Starting ECHO output...
Client send : Salam
Client send : WELCOME TO PYSEC101!
Client send :
Closing Connection
Mohammad reza Kamalifard
Kamalifard.ir/pysec101
6. SocketServer Framework
Framework in Python to create TCP and UDP servers
Does all the basic steps for you in the background
Comes in handy if you want to create a server to lure a client and
analyze its behavior
Mohammad reza Kamalifard
Kamalifard.ir/pysec101
7. SocketServer Framework
Has to be Subclass of BaseRequestHandler
Override handle() to process request
Call handle_request or server_forever to process clients
For TCP Servers
self.request is the client socket
self.client_addresss is the client details
Mohammad reza Kamalifard
Kamalifard.ir/pysec101
8. import SocketServer
class EchoHandler(SocketServer.BaseRequestHandler):
def handle(self):
print 'Got Connection from : ', self.client_address
data = 'dummy'
while len(data):
data = self.request.recv(1024)
print 'Client sent :' + data
self.request.send(data)
print 'client left'
server_address = ('127.0.0.1', 9050)
server = SocketServer.TCPServer(server_address, EchoHandler)
server.serve_forever()
Mohammad reza Kamalifard
Kamalifard.ir/pysec101
9. Exercise
is this server multi_threaded ?
code up the multi_threaded version of the SocketServer
Mohammad reza Kamalifard
Kamalifard.ir/pysec101
10. This work is licensed under the Creative Commons
Attribution-NoDerivs 3.0 Unported License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/3.0/
Copyright 2013 Mohammad reza Kamalifard.
All rights reserved.