• Like
  • Save
جلسه دوم پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲
Upcoming SlideShare
Loading in...5
×
 

جلسه دوم پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲

on

  • 473 views

در این جلسه از کلاس به معرفی ساختار های داده ای در زبان پایتون و معرفی رشته ها و اعداد می‌پردازیم ...

در این جلسه از کلاس به معرفی ساختار های داده ای در زبان پایتون و معرفی رشته ها و اعداد می‌پردازیم
PySec101 Fall 2013 J2E1 By Mohammad Reza Kamalifard
Talk About
Python Data Structures, Strings, Numbers,...

Statistics

Views

Total Views
473
Views on SlideShare
473
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
1

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • hello
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    جلسه دوم پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲ جلسه دوم پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲ Presentation Transcript

    • Python for ethical hackers Mohammad reza Kamalifard kamalifard@datasec.ir
    • Python language essentials Module 1: Introduction to Python and Setting up an Environment for Programing Part 2 : Variables and Data Types
    • Variables, Objects and References • There are integers, floating point numbers, strings, and many more, but things are not the same as in C or C++. • Python variables do not have any types associate with them • Don’t need declaration before use • Variable name is a reference to an Object
    • Variables • Something which can change • Way of referring to a memory location used by a computer program. Variable is a symbolic name for this physical location • Memory location contains values, like numbers, text or more complicated types
    • Variables, Objects and References Identifier >>> name = 'reza' >>> print name reza >>> >>>name = 10 >>>name 10 Object
    • Data Type >>> name = 10 >>> type(name) <type 'int'> >>> name = 'Reza' >>> type(name) <type 'str'> >>> name = 10.42 >>> type(name) <type 'float'> >>>
    • Variables vs. Identifiers Variables and identifiers are very often mistaken as synonyms ● The name of a variable is an identifier, but a variable is "more than a name".  ● An identifier is not only used for variables. An identifier can denote various entities like variables, types, labels, subroutines or functions, packages and so on. ●
    • Naming Identifiers of Variables A valid identifier is a non-empty sequence of characters of any length with: ● the start character can be the underscore "_" or a capital or lower case letter ● the letters following the start character can be anything which is permitted as a start character plus the digits. ● Just a warning for Windows-spoilt users: Identifiers are case-sensitive ● Python keywords are not allowed as identifier names and, as, assert, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield
    • Variables vs. Identifiers >>> name = 'reza' >>> id(name) 3072831328L >>> hex(id(name)) '0xb727af60L' >>> An other way to do that : >>> name.__repr__ <method-wrapper '__repr__' of str object at 0xb727af60> >>> 0xb727af60 is exact memory location where the object stored, name is just a reference to that object.
    • Data Types Python offers 1. 2. 3. 4. 5. 6. 7. Numbers Strings List Dictionaries Tuples Boolean …
    • Numbers - Integer Normal integers e.g. 4321 ● Octal literals (base 8) A number prefixed by a 0 (zero) will be interpreted as an octal number >>> a = 010 >>> print a 8 ● Hexadecimal literals (base 16) Hexadecimal literals have to be prefixed either by "0x" or "0X". >>> hex_number = 0xA0F >>> print hex_number 2575 ● Long integers these numbers are of unlimeted size e.g.42000000000000000000L ● Floating-point numbers for example: 42.11, 3.1415e-10 ●
    • Convert to Number >>>int('10') 10 >>>int('0011',2) 3 >>>int('1111',2) 15 >>>int('0xff',16) 255
    • Strings Strings are marked by quotes: – single quotes (') 'This is a string with single quotes‘ – double quotes (") "Obama's dog is called Bo"" – triple quotes, both single (''') and (""") '''String in triple quotes can extend over multiple lines, like this on, and can contain 'single' and "double" quotes.'''
    • Strings >>>name = 'reza' >>>name = "reza" >>>name = "rez'a" >>>name = 'Mohammdnreza' >>>print name Mohammad reza
    • Strings >>>name = r'Mohammdnreza' raw string and turns off escaping print name Mohammdnreza >>>
    • Strings >>> name = ''' ... Hello Dear Students ... Welcome to PYSEC101 Course! ... Python Scripting Course for Ethical Hackers ... ''' >>> name 'nHello Dear StudentsnWelcome to PYSEC101 Course!nPython Scripting Course for Ethical Hackersn' >>> print name Hello Dear Students Welcome to PYSEC101 Course! Python Scripting Course for Ethical Hackers
    • String Index ● A string in Python consists of a series or sequence of characters - letters, numbers, and special characters.
    • Unicode Used for internationalization ● “Wide Characters” are they are called(code all languages) >>>name = u'Mohammad' >>> name u'Mohammad' >>> unicode to regular string conversion >>> str(name) 'Mohammad' >>> regular string to unicode conversion >>> unicode(name) u'Mohammad' >>> ●
    • Concatenating Strings Strings can be glued together (concatenated) with the + operator >>>s1 + s2 >>> s1 = 'Hamid' >>> s2 = 'rezaie' >>> s1 + s2 'Hamidrezaie' >>> s1 + ' ' + s2 'Hamid rezaie' >>> ●
    • Repetition String can be repeated or repeatedly concatenated with the asterisk operator "*“ >>> buffer = 'A' * 20 >>> buffer 'AAAAAAAAAAAAAAAAAAAA' >>> ●
    • Int to string >>> 'a' + 42 ● Traceback (most recent call last): ● File "<stdin>", line 1, in <module> ● TypeError: cannot concatenate 'str' and 'int' objects ● >>> ● >>> str(42) ● '42' ● >>>>'a' + str(42) ●
    • Slicing Substrings can be created with the slice or slicing notation, i.e. two indices in square brackets separated by a colon: ● "Python"[2:4] -> "th“ ● >>>string[start:end:steps] ●
    • >>> name = 'Mohammad reza' >>> name[5:10] 'mad r' >>> name[0:10] 'Mohammad r' >>> name[0:-1] 'Mohammad rez' >>> name[0:-5] 'Mohammad' >>> name[:] 'Mohammad reza' >>> name[::-1] 'azer dammahoM' >>> name[::2] 'Mhma ea' >>>
    • Stirngs are immutable objects >>>name = 'reza' >>>name[0] r name [0] = 'a' TypeError: 'str' object does not support item assignment You can not change String Object directly in memory because they are immutable >>>name = 'reza' name = 'Mohammad' ● 'reza' object still does exists now name is referenced to 'Mohammad' object
    • String Methods string.find() ● string.replace() ● string.split() ●
    • >>> name = 'mohammad reza' >>> name.find('PYSEC101') -1 >>> name.find('mma') 4 >>> >>> name.split() ['mohammad', 'reza'] by default split on white spaces and return list of strings. split on 'a' >>> name.split('a') ['moh', 'mm', 'd rez', ''] >>> >>> name.replace('m', 'H') 'HohaHHad reza' >>>
    • String Formatting >>> ip = '192.168.1.252' >>> line = 'Crack this IP :%s' % ip >>> line 'Crack this IP :192.168.1.252' >>> >>> line = 'Crack this IP : %s and name %s ' % (ip, 'Reza-PC') >>> line 'Crack this IP : 192.168.1.252 and name Reza-PC '
    • References SPSE securitytube training by Vivek Ramachandran SANS Python for Pentesters (SEC573) Violent python Security Power Tools python-course.eu ----------------------------http://www.tutorialspoint.com/python/python_strings.htm http://www.tutorialspoint.com/python/python_numbers.htm http://www.python-course.eu/variables.php http://www.python-course.eu/sequential_data_types.php http://www.python-course.eu/sets_frozensets.php
    • 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. Go to Kamalifard.ir/pysec101 to Download Slides and Course martials .