The program runs, and the `print()` function outside the `main()` function executes first.

நிரல் இயங்குகிறது, மேலும் `main()` செயல்பாட்டிற்கு வெளியே உள்ள `print()` செயல்பாடு முதலில் செயல்படுத்தப்படுகிறது.


White space or indentation in Python is very important.

பைத்தானில் வெற்று இடம் அல்லது உள்தள்ளல் மிகவும் முக்கியமானது.


Every block of code has its own indentation.

ஒவ்வொரு குறியீடு தொகுப்பும் அதன் சொந்த உள்தள்ளலைக் கொண்டுள்ளது.


Commenting is very important in programming.

கருத்து தெரிவிப்பது நிரலாக்கத்தில் மிகவும் முக்கியமானது.


The assignment operator in Python is the equal (=) sign.

பைத்தானில் உள்ள ஒதுக்கீடு ஆபரேட்டர் சமம் (=) அடையாளம் ஆகும்.


பைத்தானில், எல்லாமே ஒரு பொருள்.


Every object has an ID, type, and value.

ஒவ்வொரு பொருளுக்கும் ஒரு ஐடி, வகை மற்றும் மதிப்பு உள்ளது.


Numbers, strings, and tuples are immutable.

எண்கள், சரங்கள் மற்றும் டியூப்பிள்கள் மாறாதவை.


பட்டியல்கள் மற்றும் அகராதிகள் மாற்றக்கூடியவை.


ஒவ்வொரு எண்ணும் ஒரு வகுப்பையும் ஒரு ஐடியையும் கொண்டுள்ளது.


Strings can be written within double quotes or single quotes.

சரங்களை இரட்டை மேற்கோள்களுக்குள் அல்லது ஒற்றை மேற்கோள்களுக்குள் எழுதலாம்.


We can insert an integer into the middle of a string.

ஒரு சரத்தின் நடுவில் ஒரு முழு எண்ணைச் செருகலாம்.


In the latest version of Python, we treat string as an object.

பைத்தானின் சமீபத்திய பதிப்பில், சரத்தை ஒரு பொருளாகக் கருதுகிறோம்.


You need to use plenty of strings in your coding life.

உங்கள் குறியீட்டு வாழ்க்கையில் நீங்கள் நிறைய சரங்களைப் பயன்படுத்த வேண்டும்.


Every object has a unique identification, which is known as ID.

ஒவ்வொரு பொருளுக்கும் ஒரு தனித்துவமான அடையாளம் உள்ளது, இது ஐடி என்று அழைக்கப்படுகிறது.


அகராதி பொருள்கள் மாற்றக்கூடியவை.


Tuples are immutable; you cannot insert or update them.

டியூப்பிள்கள் மாறாதவை; அவற்றை நீங்கள் செருகவோ அல்லது புதுப்பிக்கவோ முடியாது.


A string is also a sequential type and you can iterate through it.

ஒரு சரம் ஒரு வரிசை வகையாகும், மேலும் நீங்கள் அதை மீண்டும் மீண்டும் செய்யலாம்.


Python has another very strong aggregate type of values: dictionary.

பைத்தானில் மற்றொரு வலுவான மதிப்பு வகை உள்ளது: அகராதி.


பைத்தான் ஒரு பொருள் சார்ந்த மொழி.


The user requests data and ultimately retrieves it.

பயனர் தரவைக் கோரி, இறுதியில் அதை மீட்டெடுக்கிறார்.


The application layer handles the user's interaction.

பயன்பாட்டு அடுக்கு பயனரின் தொடர்புகளைக் கையாளுகிறது.


This layer manages end-to-end communication.

இந்த அடுக்கு இறுதி முதல் இறுதி வரையிலான தொடர்புகளை நிர்வகிக்கிறது.


Suppose you type a password and log into your social media account.

நீங்கள் கடவுச்சொல்லை உள்ளிட்டு உங்கள் சமூக ஊடக கணக்கில் உள்நுழைகிறீர்கள் என்று வைத்துக்கொள்வோம்.


This layer maintains the end-to-end communication.

இந்த அடுக்கு இறுதி முதல் இறுதி வரையிலான தொடர்புகளைப் பேணுகிறது.


The transport layer breaks your request into several fractions.

போக்குவரத்து அடுக்கு உங்கள் கோரிக்கையை பல பகுதிகளாக உடைக்கிறது.


It adds source and destination port numbers.

இது மூல மற்றும் இலக்கு போர்ட் எண்களைச் சேர்க்கிறது.


It provides flow control, sequencing, and reliability.

இது ஓட்டக் கட்டுப்பாடு, வரிசைமுறை மற்றும் நம்பகத்தன்மையை வழங்குகிறது.


It adds source and destination IP addresses.

இது மூல மற்றும் இலக்கு IP முகவரிகளைச் சேர்க்கிறது.


It also makes sure that your request finds the best path.

உங்கள் கோரிக்கை சிறந்த பாதையை கண்டுபிடிக்கும் என்பதை இது உறுதி செய்கிறது.


This layer adds source and destination Media Access Control (MAC) addresses.

இந்த அடுக்கு மூல மற்றும் இலக்கு மீடியா அணுகல் கட்டுப்பாட்டு (MAC) முகவரிகளைச் சேர்க்கிறது.


It checks frame by frame whether the source requests reach the right destination.

மூலக் கோரிக்கைகள் சரியான இலக்கை அடைகின்றனவா என்பதை ஃபிரேம் பை ஃபிரேம் சரிபார்க்கிறது.


Routers communicate with other networks like the Internet.

ரூட்டர்கள் இணையம் போன்ற பிற நெட்வொர்க்குகளுடன் தொடர்பு கொள்கின்றன.


Internetworking models encourage interoperability between different devices.

இன்டர்நெட்வொர்க்கிங் மாதிரிகள் வெவ்வேறு சாதனங்களுக்கு இடையே ஒன்றோடொன்று செயல்படுவதை ஊக்குவிக்கின்றன.


OSI மாதிரி ஏழு அடுக்குகளைக் கொண்டுள்ளது.


An ethical hacker tries to understand this process of data communication.

ஒரு நெறிமுறை ஹேக்கர் தரவு தொடர்பு முறையைப் புரிந்து கொள்ள முயற்சிக்கிறார்.


In a virtual box we can play with any operating system without any fear.

ஒரு மெய்நிகர் பெட்டியில், எந்த இயக்க முறைமையையும் பயமின்றிப் பயன்படுத்தலாம்.


அவற்றில் எதையும் நீங்கள் தேர்வு செய்யலாம்.


Virtual Box ஐ நிறுவுவது மிகவும் எளிது.


It is extremely important to know about the Linux terminal and commands.

லினக்ஸ் டெர்மினல் மற்றும் கட்டளைகளைப் பற்றி அறிந்து கொள்வது மிகவும் முக்கியம்.


The author discusses the importance of ethical hacking.

எழுத்தாளர் நெறிமுறை ஹேக்கிங்கின் முக்கியத்துவத்தைப் பற்றி விவாதிக்கிறார்.


Ethical hacking is not associated with illegal activities.

நெறிமுறை ஹேக்கிங் சட்டவிரோத செயல்களுடன் தொடர்புடையது அல்ல.


This book is intended for beginners who want to learn ethical hacking.

இந்த புத்தகம் நெறிமுறை ஹேக்கிங்கைக் கற்றுக்கொள்ள விரும்பும் ஆரம்பகட்டவர்களுக்காக வடிவமைக்கப்பட்டுள்ளது.


The author uses Ubuntu Linux as his default operating system.

எழுத்தாளர் உபுண்டு லினக்ஸை தனது இயல்புநிலை இயக்க முறைமையாகப் பயன்படுத்துகிறார்.


Virtual machines are used to experiment with different operating systems.

வெவ்வேறு இயக்க முறைமைகளை பரிசோதிக்க விர்ச்சுவல் மெஷின்கள் பயன்படுத்தப்படுகின்றன.


Ethical hackers need to know how to defend themselves.

நெறிமுறை ஹேக்கர்கள் தங்களை எவ்வாறு பாதுகாத்துக் கொள்வது என்பதை அறிந்து கொள்ள வேண்டும்.


They use the same tools as malicious hackers, but for different purposes.

அவர்கள் தீங்கிழைக்கும் ஹேக்கர்களைப் போலவே அதே கருவிகளைப் பயன்படுத்துகிறார்கள், ஆனால் வெவ்வேறு நோக்கங்களுக்காகப் பயன்படுத்துகிறார்கள்.


Security consists of availability, integrity, authenticity, and confidentiality.

பாதுகாப்பு என்பது கிடைக்கும் தன்மை, ஒருமைப்பாடு, நம்பகத்தன்மை மற்றும் ரகசியத்தன்மை ஆகியவற்றைக் கொண்டுள்ளது.


A denial-of-service attack aims to block the availability of data.

சேவை மறுப்புத் தாக்குதல் தரவின் கிடைப்பதை தடுக்க முயல்கிறது.


Integrity of data should not be compromised.

தரவின் ஒருமைப்பாடு சமரசம் செய்யப்படக்கூடாது.


Authentication attacks involve MAC address spoofing.

அங்கீகாரத் தாக்குதல்களில் MAC முகவரி ஸ்பூஃபிங் அடங்கும்.


Confidentiality attacks involve information theft.

ரகசியத்தன்மை தாக்குதல்களில் தகவல் திருட்டு அடங்கும்.


The book covers the legal side of hacking.

புத்தகம் ஹேக்கிங்கின் சட்டபூர்வமான பக்கத்தை உள்ளடக்கியது.


Learning Python is recommended for ethical hacking.

நெறிமுறை ஹேக்கிங்கிற்காக பைத்தானைக் கற்றுக்கொள்வது பரிந்துரைக்கப்படுகிறது.


A basic knowledge of networking is essential.

நெட்வொர்க்கிங் பற்றிய அடிப்படை அறிவு அவசியம்.


Data travels through many layers in a network.

ஒரு நெட்வொர்க்கில் தரவு பல அடுக்குகளின் வழியாக பயணிக்கிறது.


A network is a collection of devices connected through media.

ஒரு நெட்வொர்க் என்பது மீடியா மூலம் இணைக்கப்பட்ட சாதனங்களின் தொகுப்பாகும்.


Ethical hackers try to understand these layers.

நெறிமுறை ஹேக்கர்கள் இந்த அடுக்குகளைப் புரிந்து கொள்ள முயற்சிக்கிறார்கள்.


The OSI model and TCP/IP model are examples of internetworking models.

OSI மாதிரி மற்றும் TCP/IP மாதிரி ஆகியவை இணைய நெட்வொர்க்கிங் மாதிரிகளுக்கு எடுத்துக்காட்டுகளாகும்.


These models encourage interoperability and facilitate modular engineering.

இந்த மாதிரிகள் ஒன்றோடொன்று செயல்படுவதை ஊக்குவிக்கின்றன மற்றும் மட்டு பொறியியலை எளிதாக்குகின்றன.


The program's output will change based on the placement of the conditional statements.

நிபந்தனை அறிக்கைகளின் இடத்தை பொறுத்து நிரலின் வெளியீடு மாறும்.


While loops are the simplest form of loops in Python.

பைத்தானில் While லூப்கள் மிக எளிமையான லூப்களின் வடிவமாகும்.


You need a mechanism to stop that process, otherwise it will eat up your memory.

அந்த செயல்முறையை நிறுத்த உங்களுக்கு ஒரு வழிமுறை தேவை, இல்லையெனில் அது உங்கள் நினைவகத்தை சாப்பிடும்.


குறியீட்டின் வெளியீடு 1 முதல் 49 வரை இருக்கும்.


The Fibonacci sequence is a series where the sum of two numbers defines the next set.

பிபோனச்சி வரிசை என்பது இரண்டு எண்களின் கூட்டுத்தொகை அடுத்த தொகுப்பை வரையறுக்கும் ஒரு தொடராகும்.


For beginners, let's write this code in a more readable way.

ஆரம்பநிலைக்கு, இந்த குறியீட்டை இன்னும் படிக்கக்கூடிய வகையில் எழுதுவோம்.


The for loop is the most common loop used in Python.

பைத்தானில் பயன்படுத்தப்படும் மிகவும் பொதுவான லூப் ஃபார் லூப் ஆகும்.


We can iterate through Python objects using the for loop.

ஃபார் லூப்பைப் பயன்படுத்தி பைதான் பொருள்களின் மூலம் நாம் மீண்டும் மீண்டும் செய்யலாம்.


The enumerate() function provides a numbered list.

எண்ணிக்கை() செயல்பாடு எண்ணிடப்பட்ட பட்டியலை வழங்குகிறது.


You can search any character inside any string using enumerate().

எண்ணிக்கை() பயன்படுத்துவதன் மூலம் எந்த சரத்திலும் எந்த எழுத்தையும் தேடலாம்.


Functions are extremely important for reusability of codes.

குறியீடுகளை மீண்டும் பயன்படுத்துவதற்கு செயல்பாடுகள் மிகவும் முக்கியமானவை.


We can call a function several times and pass many arguments.

நாம் ஒரு செயல்பாட்டை பல முறை அழைக்கலாம் மற்றும் பல வாதங்களை அனுப்பலாம்.


புதிய குறியீட்டின் மூலம் வெளியீடு மாறுகிறது.


Searching and replacing with regular expressions is easy.

வழக்கமான வெளிப்பாடுகளுடன் தேடுவதும் மாற்றுவதும் எளிதானது.


எளிய வேலைகளுக்கு 're' தொகுதியை பயன்படுத்துகிறோம்.


All the words 'lenore' and 'nevermore' have been replaced.

'லெனோர்' மற்றும் 'நெவர்மோர்' என்ற அனைத்து வார்த்தைகளும் மாற்றப்பட்டுள்ளன.


We will try to reuse the code so that we can use them again and again.

குறியீட்டை மீண்டும் பயன்படுத்த முயற்சிப்போம், அதனால் அவற்றை மீண்டும் மீண்டும் பயன்படுத்தலாம்.


Beginners may find this 'try block' quite intimidating.

ஆரம்பநிலைக்கு இந்த 'முயற்சி தொகுதி' மிகவும் பயமுறுத்துவதாக இருக்கலாம்.


Regular expressions are a very powerful method of matching patterns.

வழக்கமான வெளிப்பாடுகள் வடிவங்களை பொருத்துவதற்கான மிகவும் சக்திவாய்ந்த முறையாகும்.


Learning and understanding regular expressions is very important.

வழக்கமான வெளிப்பாடுகளைக் கற்றுக்கொள்வதும் புரிந்துகொள்வதும் மிகவும் முக்கியம்.


We find many files there and presently we are interested in the “sources.list” file.

அங்கு பல கோப்புகளைக் காண்கிறோம், தற்போது “sources.list” கோப்பில் எங்களுக்கு ஆர்வம் உள்ளது.


We can use the “cat” command to read the file but we have something different in mind.

கோப்பை படிக்க “cat” கட்டளையைப் பயன்படுத்தலாம், ஆனால் நாங்கள் வேறு ஒன்றை மனதில் வைத்திருக்கிறோம்.


We would like to search some particular word and want to separate them and see them in segregation.

சில குறிப்பிட்ட வார்த்தைகளைத் தேட விரும்புகிறோம், அவற்றை பிரித்து தனித்தனியாகப் பார்க்க விரும்புகிறோம்.


The command “grep” along with another command, “|” (pipe), will help us in doing so.

“grep” கட்டளை மற்றொரு கட்டளையான “|” (குழாய்) உடன் சேர்ந்து இதைச் செய்ய நமக்கு உதவும்.


If we simply write a command like “cat sources.list”, it will display a long listing of the sources of this Linux system.

நாம் “cat sources.list” போன்ற ஒரு கட்டளையை எழுதினால், இந்த லினக்ஸ் அமைப்பின் மூலங்களின் நீண்ட பட்டியலைக் காண்பிக்கும்.


But we are interested about searching the word “src” and want to see how many times that word has been used in the “sources.list”.

ஆனால், “src” என்ற வார்த்தையைத் தேடுவதில் நாங்கள் ஆர்வமாக உள்ளோம், மேலும் அந்த வார்த்தை “sources.list”-ல் எத்தனை முறை பயன்படுத்தப்பட்டுள்ளது என்பதைப் பார்க்க விரும்புகிறோம்.


So the final command and the output are like this: hagudu@hagudu-H81M-S1:/etc/apt$ cat sources.list | grep src

எனவே, இறுதி கட்டளையும் வெளியீடும் இதுபோல் இருக்கும்: hagudu@hagudu-H81M-S1:/etc/apt$ cat sources.list | grep src


We can even filter the source file more distinctly.

நாம் மூலக் கோப்பை இன்னும் தெளிவாக வடிகட்டலாம்.


We can narrow down our searches more and tell the terminal to find the word “src” only with small letters by writing down this command: cat sources.list | grep –i src

நாம் தேடலை இன்னும் சுருக்கலாம் மற்றும் இந்த கட்டளையை எழுதுவதன் மூலம் சிறிய எழுத்துக்களில் மட்டுமே “src” என்ற வார்த்தையை கண்டுபிடிக்க முனையத்திற்கு சொல்லலாம்: cat sources.list | grep –i src


மற்றொரு முக்கியமான கட்டளை “echo” ஆகும்.


This command literally echoes everything you write on your terminal.

இந்த கட்டளை, நீங்கள் உங்கள் முனையத்தில் எழுதுவதை அப்படியே எதிரொலிக்கிறது.


You can also do something more with this command.

இந்த கட்டளையுடன் நீங்கள் இன்னும் அதிகமாகச் செய்யலாம்.


You can even change a text file with this command.

இந்த கட்டளையைப் பயன்படுத்தி ஒரு உரை கோப்பை கூட மாற்றலாம்.


We have first echoed some text on our terminal, then we used “>” (greater than sign) to put that text into the file “novel.txt”.

முதலில், எங்கள் முனையத்தில் சில உரைகளை எதிரொலித்தோம், பின்னர் அந்த உரையை “novel.txt” கோப்பில் வைக்க “>” (பெரியது சின்னம்) பயன்படுத்தினோம்.


Now we will learn how to make directories in Linux.

இப்போது லினக்ஸில் கோப்பகங்களை உருவாக்குவது எப்படி என்று பார்ப்போம்.


There is a very useful command: “mkdir ”.

மிகவும் பயனுள்ள கட்டளை உள்ளது: “mkdir”.


இதன் பொருள் “கோப்பகத்தை உருவாக்கு”.


Let us make a directory named after this project: “Ethical Hacking.”

இந்த திட்டத்தின் பெயரில் ஒரு கோப்பகத்தை உருவாக்குவோம்: “Ethical Hacking.”


You may guess that the command is extremely simple: mkdir Ethical Hacking No, it is not.

கட்டளை மிகவும் எளிமையானது என்று நீங்கள் நினைக்கலாம்: mkdir Ethical Hacking இல்லை, அது அப்படி இல்லை.


In this case, if you write that way, Linux terminal understands something else.

இந்த விஷயத்தில், நீங்கள் அவ்வாறு எழுதினால், லினக்ஸ் முனையம் வேறு ஒன்றை புரிந்து கொள்ளும்.


It can return any type of data: string, integer, object—anything.

இது எந்த வகையான தரவையும் திருப்பி அனுப்பும்: சரம், முழு எண், பொருள் - எதுவாக இருந்தாலும்.


We have returned range() object and got the value in our main() function.

நாம் range() பொருளைத் திருப்பி அனுப்பி, நமது main() செயல்பாட்டில் மதிப்பைப் பெற்றோம்.


பைத்தானில் நாம் செயல்பாடுகளை உருவாக்கலாம்.


You have probably found that the function RangeFunctions() has a limitation.

RangeFunctions() என்ற செயல்பாடு ஒரு வரம்பைக் கொண்டுள்ளது என்பதை நீங்கள் கவனித்திருக்கலாம்.


பைத்தான் இதை ஆதரிக்காது.


In our code, *args or *params mean lists of arguments.

எங்கள் குறியீட்டில், *args அல்லது *params என்பது வாதங்களின் பட்டியலைக் குறிக்கிறது.


You can pass any number of arguments through them.

அவற்றின் மூலம் எத்தனை வாதங்களை வேண்டுமானாலும் அனுப்பலாம்.


Sometimes it is important to use named arguments in Python.

சில நேரங்களில் பைத்தானில் பெயரிடப்பட்ட வாதங்களைப் பயன்படுத்துவது முக்கியம்.


As it is a dictionary output, it is not ordered.

இது ஒரு அகராதி வெளியீடு என்பதால், வரிசைப்படுத்தப்படவில்லை.


If you are a complete beginner, you are probably hearing for the first time about “object-oriented programming and class.”

நீங்கள் ஒரு முழுமையான தொடக்கக்காரராக இருந்தால், “பொருள் சார்ந்த நிரலாக்கம் மற்றும் வகுப்பு” பற்றி முதல் முறையாகக் கேள்விப்படுகிறீர்கள்.


An object is a representation of a real world entity.

ஒரு பொருள் என்பது ஒரு நிஜ உலக நிறுவனத்தின் பிரதிநிதித்துவம் ஆகும்.


A car object is built of many other objects like tire, wheel, engine, accelerator, etcetera.

ஒரு கார் பொருள் டயர், சக்கரம், இயந்திரம், முடுக்கி போன்ற பல பொருட்களால் ஆனது.


The advantage of object orientation is that when you work on a part of a big, complicated project, the other part remains unaffected.

பொருள் சார்ந்த நோக்குநிலையின் நன்மை என்னவென்றால், ஒரு பெரிய, சிக்கலான திட்டத்தின் ஒரு பகுதியில் நீங்கள் பணிபுரியும் போது, மற்ற பகுதி பாதிக்கப்படாமல் இருக்கும்.


ஒரு பொருளைக் கவனியுங்கள், “நல்ல மனிதன்”.


An object-oriented program consists of classes, objects and methods.

ஒரு பொருள் சார்ந்த நிரல் வகுப்புகள், பொருள்கள் மற்றும் முறைகளைக் கொண்டுள்ளது.


You (an object) interact with your television (another object) via messages sent through a remote controller (another object).

நீங்கள் (ஒரு பொருள்) உங்கள் தொலைக்காட்சியுடன் (மற்றொரு பொருள்) ரிமோட் கண்ட்ரோலர் (மற்றொரு பொருள்) மூலம் அனுப்பப்படும் செய்திகள் மூலம் தொடர்பு கொள்கிறீர்கள்.


From a class, objects with specific properties can be created or instantiated.

ஒரு வகுப்பிலிருந்து, குறிப்பிட்ட பண்புகளைக் கொண்ட பொருட்களை உருவாக்கலாம் அல்லது உருவாக்கலாம்.


One of the major features of object-oriented programming is “polymorphism.”

பொருள் சார்ந்த நிரலாக்கத்தின் முக்கிய அம்சங்களில் ஒன்று “பாலிமார்பிசம்”.


The message “Accelerate” means one thing if it sent to an object “OldCar”.

“முடுக்கு” என்ற செய்தி “பழைய கார்” என்ற பொருளுக்கு அனுப்பப்பட்டால் ஒரு பொருளைக் குறிக்கும்.


You will learn it by heart as you progress through this chapter.

இந்த அத்தியாயத்தின் மூலம் நீங்கள் முன்னேறும்போது அதை மனப்பாடம் செய்வீர்கள்.


நாம் இரண்டு வெவ்வேறு அமைப்புகளைக் கொண்டிருக்கிறோம் என்று வைத்துக்கொள்வோம்.


We have a MySQL database and, in addition, we want to create an SQLite connection.

எங்களிடம் MySQL தரவுத்தளம் உள்ளது, மேலும், கூடுதலாக, ஒரு SQLite இணைப்பை உருவாக்க விரும்புகிறோம்.


To do that we can write two separate classes and set the connection in the constructor part or initialization method.

அதைச் செய்ய, நாம் இரண்டு தனித்தனி வகுப்புகளை எழுதி, இணைப்பை கன்ஸ்ட்ரக்டர் பகுதி அல்லது துவக்க முறையில் அமைக்கலாம்.


So that when we create an instance, the connection to the database is set up automatically.

இதனால், நாம் ஒரு நிகழ்வை உருவாக்கும்போது, தரவுத்தளத்திற்கான இணைப்பு தானாகவே அமைக்கப்படும்.


குறியீட்டைக் கவனியுங்கள்:


We create two instances or objects of MyMySQLConnection() and MySQLiteConnection() classes and put them into two separate variables.

MyMySQLConnection() மற்றும் MySQLiteConnection() வகுப்புகளின் இரண்டு நிகழ்வுகள் அல்லது பொருள்களை உருவாக்கி, அவற்றை இரண்டு தனித்தனி மாறிகளில் வைக்கிறோம்.


Connections are being set up and in the output section we see this:

இணைப்புகள் அமைக்கப்படுகின்றன, மேலும் வெளியீட்டுப் பகுதியில் இதைக் காண்கிறோம்:


But this is an extremely simple example and written badly.

ஆனால் இது மிகவும் எளிமையான உதாரணம் மற்றும் மோசமாக எழுதப்பட்டது.


We should develop this code so that each instance of MySQLConnection and SQLiteConnection classes can not only connect to the database but also retrieve data from a table.

MySQLConnection மற்றும் SQLiteConnection வகுப்புகளின் ஒவ்வொரு நிகழ்வும் தரவுத்தளத்துடன் இணைக்கப்படுவது மட்டுமல்லாமல், ஒரு அட்டவணையில் இருந்து தரவையும் மீட்டெடுக்கக்கூடிய வகையில் இந்தக் குறியீட்டை நாம் உருவாக்க வேண்டும்.


நம் பழைய குறியீட்டை இதனுடன் மாற்றுவோம்:


We have connected to each database with the initialization process and then apply one verb, “Retrieve()”, to each object.

துவக்க செயல்முறையுடன் ஒவ்வொரு தரவுத்தளத்தையும் இணைத்துள்ளோம், பின்னர் ஒவ்வொரு பொருளுக்கும் “Retrieve()” என்ற ஒரு வினைச்சொல்லைப் பயன்படுத்துகிறோம்.


We have also imported many database modules that you have not learned yet.

நீங்கள் இன்னும் கற்றுக்கொள்ளாத பல தரவுத்தள தொகுதிகளையும் நாங்கள் இறக்குமதி செய்துள்ளோம்.


ஆனால், எங்கள் நோக்கம் நிறைவேறியது.


We create two separate database objects.

நாம் இரண்டு தனித்தனி தரவுத்தள பொருட்களை உருவாக்குகிறோம்.


One is a MySQL connection object and another is an SQLite connection object.

ஒன்று MySQL இணைப்பு பொருள், மற்றொன்று SQLite இணைப்பு பொருள்.


After that, with those objects we are able to retrieve separate data from two different tables.

அதன் பிறகு, அந்தப் பொருட்களைக் கொண்டு, இரண்டு வெவ்வேறு அட்டவணைகளில் இருந்து தனித்தனி தரவை மீட்டெடுக்க முடிகிறது.


முதலில் வெளியீட்டைப் பாருங்கள்:


The output says, the MySQL database “testdb” has a table called “Employee” and there are several rows like name, sex, salary, etc.

வெளியீடு, MySQL தரவுத்தளம் “testdb” ஆனது “Employee” என்ற அட்டவணையை கொண்டுள்ளது, மேலும் பெயர், பாலினம், சம்பளம் போன்ற பல வரிசைகள் உள்ளன என்று கூறுகிறது.


Second, we have an SQLite3 database “test1” which has a table called “test1” which has many rows that contain few names.

இரண்டாவதாக, எங்களிடம் SQLite3 தரவுத்தளம் “test1” உள்ளது, இதில் “test1” என்ற அட்டவணை உள்ளது, இதில் சில பெயர்களைக் கொண்ட பல வரிசைகள் உள்ளன.


பொருள் தரவை அணுகுதல்


In lists, you can update or add new values quite easily.

பட்டியல்களில், நீங்கள் மிக எளிதாக மதிப்புகளைப் புதுப்பிக்கலாம் அல்லது புதிய மதிப்புகளைச் சேர்க்கலாம்.


Write down the code below and see the output yourself.

கீழே உள்ள குறியீட்டை எழுதி, வெளியீட்டை நீங்களே பாருங்கள்.


வெளியீடு இப்படி இருக்கும்:


துகள் மற்றும் பட்டியல் பொருளின் மீது செயல்படுதல்


Let us open up our terminal and test how tuples and lists work together.

நம் முனையத்தைத் திறந்து, டியூப்பிள்களும் பட்டியல்களும் எவ்வாறு ஒன்றாக வேலை செய்கின்றன என்பதைச் சோதிப்போம்.


The more you spend time with tuples, lists, and dictionaries, the more you learn about Python.

நீங்கள் டியூப்பிள்கள், பட்டியல்கள் மற்றும் அகராதிகளுடன் எவ்வளவு நேரம் செலவிடுகிறீர்களோ, அவ்வளவு அதிகமாக பைத்தானைப் பற்றி அறிந்து கொள்வீர்கள்.


Another key concept of dictionary is "key=>value" pair.

அகராதியின் மற்றொரு முக்கிய கருத்து "விசை=>மதிப்பு" ஜோடி ஆகும்.


Database operations in Python are fairly simple.

பைத்தானில் தரவுத்தள செயல்பாடுகள் மிகவும் எளிமையானவை.


You can easily maintain it by creating, retrieving and updating and deleting it.

அதை உருவாக்குதல், மீட்டெடுத்தல், புதுப்பித்தல் மற்றும் நீக்குதல் மூலம் நீங்கள் எளிதாகப் பராமரிக்கலாம்.


அடிப்படை சொல் “CRUD ."


SQLite3 உடன் ஆரம்பிக்கலாம்.


But for a big project, it is better to opt for a database like MySQL.

ஆனால் ஒரு பெரிய திட்டத்திற்கு, MySQL போன்ற தரவுத்தளத்தைத் தேர்ந்தெடுப்பது நல்லது.


To work with MySQL in Python3 you need to download and install MySQL connector .

பைத்தான்3 இல் MySQL உடன் வேலை செய்ய, நீங்கள் MySQL கனெக்டரை பதிவிறக்கம் செய்து நிறுவ வேண்டும்.


In Windows or Linux, installing PHPMyAdmin is very easy.

விண்டோஸ் அல்லது லினக்ஸில், PHPMyAdmin ஐ நிறுவுவது மிகவும் எளிது.


Let us assume that we have a database called “python-mysql”.

“python-mysql” என்ற தரவுத்தளம் நம்மிடம் இருப்பதாக வைத்துக்கொள்வோம்.


It will give us a printout “Connected from a conn object”.

இது நமக்கு “conn பொருளில் இருந்து இணைக்கப்பட்டது” என்ற அச்சுப் படியை வழங்கும்.


Now it is time to retrieve the value from the table.

இப்போது அட்டவணையில் இருந்து மதிப்பை மீட்டெடுப்பதற்கான நேரம் இது.


We have used the try and error method so that if connection fails, it would not show an ugly “Error” message on your project.

இணைப்பு தோல்வியுற்றால், உங்கள் திட்டத்தில் ஒரு அசிங்கமான “பிழை” செய்தியைக் காட்டாதபடி, நாங்கள் முயற்சி மற்றும் பிழை முறையைப் பயன்படுத்தியுள்ளோம்.


The configuration file has all the things necessary to connect to the database.

கட்டமைப்பு கோப்பில் தரவுத்தளத்துடன் இணைக்க தேவையான அனைத்தும் உள்ளன.


இப்போது எங்கள் குறியீட்டை இன்னும் பிரித்துள்ளோம்.


The Python code uses the 'sys' module to determine the Python version.

பைத்தான் குறியீடு 'sys' தொகுதியை பயன்படுத்தி பைத்தான் பதிப்பை தீர்மானிக்கிறது.


The operating system information is also displayed in the output.

இயக்க முறைமை பற்றிய தகவலும் வெளியீட்டில் காட்டப்படுகிறது.


The code then requests a webpage using the 'urllib.request' module.

பின்னர் குறியீடு 'urllib.request' தொகுதியைப் பயன்படுத்தி ஒரு வலைப்பக்கத்தை கோருகிறது.


The output varies depending on the operating system, such as Linux or Windows.

வெளியீடு லினக்ஸ் அல்லது விண்டோஸ் போன்ற இயக்க முறைமையைப் பொறுத்து மாறுபடும்.


The 'random' and 'datetime' modules are also demonstrated in the code.

'random' மற்றும் 'datetime' தொகுதிகளும் குறியீட்டில் விளக்கப்பட்டுள்ளன.


Each time the code runs, the 'random' module generates new numbers.

குறியீடு இயங்கும் ஒவ்வொரு முறையும், 'random' தொகுதி புதிய எண்களை உருவாக்குகிறது.


The 'unittest' module helps in identifying errors in the code.

'unittest' தொகுதி குறியீட்டில் உள்ள பிழைகளை அடையாளம் காண உதவுகிறது.


The 'unittest' module is used for automated testing of the code.

குறியீட்டின் தானியங்கி சோதனைக்கு 'unittest' தொகுதி பயன்படுத்தப்படுகிறது.


The example shows how to use 'assertEqual()' method.

எடுத்துக்காட்டு 'assertEqual()' முறையை எவ்வாறு பயன்படுத்துவது என்பதைக் காட்டுகிறது.


The output of the 'unittest' module indicates whether the tests pass or fail.

'unittest' தொகுதியின் வெளியீடு சோதனைகள் தேர்ச்சி பெற்றனவா அல்லது தோல்வியடைந்தனவா என்பதைக் குறிக்கிறது.


The chapter introduces advanced Python concepts like socket and networking.

இந்த அத்தியாயம் சாக்கெட் மற்றும் நெட்வொர்க்கிங் போன்ற மேம்பட்ட பைத்தான் கருத்துக்களை அறிமுகப்படுத்துகிறது.


The code demonstrates how to get the IP address of a website using the 'socket' module.

'socket' தொகுதியைப் பயன்படுத்தி ஒரு வலைத்தளத்தின் IP முகவரியைப் பெறுவது எப்படி என்பதை குறியீடு விளக்குகிறது.


The Nmap tool is used for network mapping and security scanning.

Nmap கருவி நெட்வொர்க் மேப்பிங் மற்றும் பாதுகாப்பு ஸ்கேனிங்கிற்குப் பயன்படுத்தப்படுகிறது.


Nmap sends specially crafted packets to the target host.

Nmap இலக்கு ஹோஸ்டுக்கு சிறப்பாக வடிவமைக்கப்பட்ட பாக்கெட்டுகளை அனுப்புகிறது.


The script uses the Nmap module to scan a target IP address.

ஒரு இலக்கு IP முகவரியை ஸ்கேன் செய்ய ஸ்கிரிப்ட் Nmap தொகுதியைப் பயன்படுத்துகிறது.


The output of the script shows open ports and their associated services.

ஸ்கிரிப்டின் வெளியீடு திறந்திருக்கும் போர்ட்கள் மற்றும் அவற்றின் தொடர்புடைய சேவைகளைக் காட்டுகிறது.


Port 22 is used for SSH, a secure way to access a remote computer.

போர்ட் 22 SSH க்குப் பயன்படுத்தப்படுகிறது, இது தொலைதூர கணினியைப் பாதுகாப்பாக அணுக ஒரு வழியாகும்.


Port 25 is for SMTP, used for sending emails.

போர்ட் 25 SMTP க்காக உள்ளது, இது மின்னஞ்சல்களை அனுப்ப பயன்படுகிறது.


Ethical hackers need to stay anonymous to protect their identity.

தார்மீக ஹேக்கர்கள் தங்கள் அடையாளத்தைப் பாதுகாக்க அநாமதேயமாக இருக்க வேண்டும்.


Proxies can be used to hide your IP address, but they can be slow.

உங்கள் IP முகவரியை மறைக்க ப்ராக்ஸிகளைப் பயன்படுத்தலாம், ஆனால் அவை மெதுவாக இருக்கலாம்.


Using a proxy, you may want to log into some server.

ஒரு ப்ராக்ஸியைப் பயன்படுத்தி, நீங்கள் சில சேவையகத்தில் உள்நுழைய விரும்பலாம்.


Once you have typed in your password, it could be hijacked.

நீங்கள் உங்கள் கடவுச்சொல்லை உள்ளிட்டவுடன், அது கடத்தப்படலாம்.


இந்த சிக்கலை நீங்கள் எவ்வாறு தீர்க்க முடியும்?


ஒரு சொல் உள்ளது: “VPN.”


You’ve probably heard of “virtual private network .

நீங்கள் ஒரு “மெய்நிகர் தனியார் நெட்வொர்க்” பற்றி கேள்விப்பட்டிருக்கலாம்.


It is basically a kind of service that you are using for encrypting your traffic.

இது அடிப்படையில் உங்கள் போக்குவரத்தை குறியாக்கம் செய்ய நீங்கள் பயன்படுத்தும் ஒரு வகை சேவை ஆகும்.


அது மிகவும் வேகமாக உள்ளது.


In the future, when you work as a professional, you have to hire a VPN service.

எதிர்காலத்தில், நீங்கள் ஒரு நிபுணராக பணிபுரியும் போது, நீங்கள் ஒரு VPN சேவையை அமர்த்த வேண்டும்.


இது மிகவும் விலை உயர்ந்தது அல்ல.


For the time being we could do it for free, just for educational purposes.

தற்போதைக்கு, கல்வி நோக்கங்களுக்காக இதை இலவசமாக செய்யலாம்.


But once you encrypt your traffic through VPN , it is recognizable.

ஆனால் நீங்கள் VPN மூலம் உங்கள் போக்குவரத்தை குறியாக்கம் செய்தவுடன், அது அடையாளம் காணக்கூடியதாக இருக்கும்.


What happens if an agency asks the service providers for your data?

ஒரு நிறுவனம் சேவை வழங்குநர்களிடம் உங்கள் தரவைக் கேட்டால் என்ன நடக்கும்?


Normally, to avoid that you need to be choosy.

சாதாரணமாக, அதைத் தவிர்க்க நீங்கள் கவனமாக இருக்க வேண்டும்.


You need to hire a service from a certain part of the world where privacy is strictly maintained.

அந்தரங்கம் கண்டிப்பாகப் பேணப்படும் உலகின் ஒரு குறிப்பிட்ட பகுதியில் இருந்து நீங்கள் ஒரு சேவையை அமர்த்த வேண்டும்.


But after saying that and hoping for the best, I’d definitely not recommend you to do your white hat ethical hacking using proxies or VPNs.

ஆனால் அதைச் சொல்லி, சிறந்ததை எதிர்பார்த்த பிறகு, ப்ராக்ஸிகள் அல்லது VPNகளைப் பயன்படுத்தி உங்கள் வெள்ளை தொப்பி நெறிமுறை ஹேக்கிங்கைச் செய்ய நான் நிச்சயமாகப் பரிந்துரைக்க மாட்டேன்.


Basically, you may want to do that for bypassing the firewall setting or that sort of thing.

அடிப்படையாக, ஃபயர்வாலை அமைப்பைத் தவிர்ப்பதற்காக அல்லது அது போன்ற விஷயங்களுக்காக நீங்கள் அதைச் செய்ய விரும்பலாம்.


Besides, some VPN services don’t allow IP addresses to use their services beyond a range.

மேலும், சில VPN சேவைகள் IP முகவரிகள் தங்கள் சேவைகளை ஒரு வரம்புக்கு அப்பால் பயன்படுத்த அனுமதிப்பதில்லை.


Suppose your IP address belongs outside of that range.

உங்கள் IP முகவரி அந்த வரம்புக்கு வெளியே இருப்பதாக வைத்துக்கொள்வோம்.


But people often use proxies or VPNs—not always for doing something malicious like taking down a server or stealing data.

ஆனால் மக்கள் பெரும்பாலும் ப்ராக்ஸிகள் அல்லது VPNகளைப் பயன்படுத்துகிறார்கள் - எப்போதும் ஒரு சேவையகத்தை செயலிழக்கச் செய்வது அல்லது தரவை திருடுவது போன்ற தீங்கிழைக்கும் செயல்களைச் செய்வதற்காக அல்ல.


This is Kali Linux virtual machine’s MAC address or local network card address.

இது காலி லினக்ஸ் மெய்நிகர் இயந்திரத்தின் MAC முகவரி அல்லது உள்ளூர் நெட்வொர்க் கார்டு முகவரி ஆகும்.


They are network cards. They could be Ethernet cards, wireless cards, wireless adapters, etcetera.

அவை நெட்வொர்க் அட்டைகள். அவை ஈதர்நெட் அட்டைகள், வயர்லெஸ் அட்டைகள், வயர்லெஸ் அடாப்டர்கள் போன்றவை.


But this address is extremely important, as it is used to identify you in the vast web world.

ஆனால் இந்த முகவரி மிகவும் முக்கியமானது, ஏனெனில் இது பரந்த வலை உலகில் உங்களை அடையாளம் காண பயன்படுகிறது.


The first three digits are the symbols that represent the manufacturer.

முதல் மூன்று இலக்கங்கள் உற்பத்தியாளரைக் குறிக்கும் சின்னங்கள் ஆகும்.


It means when you have changed the MAC address and issued the “ifconfig ” command, it only show the changed one, not the permanent one.

நீங்கள் MAC முகவரியை மாற்றி, “ifconfig” கட்டளையை வழங்கியிருந்தால், அது மாற்றப்பட்டதை மட்டுமே காட்டும், நிரந்தரமானதை அல்ல.


Now we’d like to change our MAC address.

இப்போது, எங்கள் MAC முகவரியை மாற்ற விரும்புகிறோம்.


And it will produce an output like this : GNU MAC Changer Usage:

மேலும் இது இது போன்ற ஒரு வெளியீட்டை உருவாக்கும்: GNU MAC Changer பயன்பாடு:


The three red-colored lines are important.

மூன்று சிவப்பு நிற கோடுகள் முக்கியம்.


It is explicitly defined what they mean.

அவை என்ன அர்த்தம் என்பதை இது தெளிவாக வரையறுக்கிறது.


The green colored line is also important.

பச்சை நிற கோடும் முக்கியமானது.


In this case, there is every possibility of losing your anonymity.

இந்த விஷயத்தில், உங்கள் அநாமதேயத்தை இழக்க எல்லா சாத்தியக்கூறுகளும் உள்ளன.


The first three sets belong to the net card manufacturer and, since that has not been changed, you can be identified.

முதல் மூன்று தொகுப்புகள் நெட் கார்டு உற்பத்தியாளருக்கு சொந்தமானது, மேலும் அது மாற்றப்படாததால், உங்களை அடையாளம் காண முடியும்.


So far, the best option available for us is the green colored line— -r, -- random Set fully random MAC—where it is clearly said that you can set fully random MAC.

இதுவரை, நமக்குக் கிடைக்கும் சிறந்த விருப்பம் பச்சை நிறக் கோடு -r, -- random முழுமையான ரேண்டம் MAC ஐ அமைத்தல் - இதில் நீங்கள் முழுமையான ரேண்டம் MAC ஐ அமைக்கலாம் என்று தெளிவாகக் கூறப்பட்டுள்ளது.


That is, the six sets are completely random—which we prefer.

அதாவது, ஆறு தொகுப்புகளும் முற்றிலும் சீரற்றவை - இதுவே நாங்கள் விரும்புகிறோம்.


The most important of them is the last blue-colored line.

அவற்றில் மிக முக்கியமானது கடைசி நீல நிற கோடு ஆகும்.


Why is it important? It is because you can change the MAC address completely.

இது ஏன் முக்கியமானது? ஏனென்றால், நீங்கள் MAC முகவரியை முழுமையாக மாற்றலாம்.


We can have a list of all vendors with a simple command: l.

ஒரு எளிய கட்டளையுடன் அனைத்து விற்பனையாளர்களையும் பட்டியலிடலாம்: l.


அவற்றில் சிலவற்றை எடுத்துக் கொள்வோம்.


Ethical hackers sometime use that trick.

நெறிமுறை ஹேக்கர்கள் சில சமயங்களில் அந்த தந்திரத்தைப் பயன்படுத்துகிறார்கள்.


In colleges, students sometimes use that trick to fool the professor, along with the whole class.

கல்லூரிகளில், மாணவர்கள் சில சமயங்களில் பேராசிரியரையும், முழு வகுப்பையும் ஏமாற்ற அந்த தந்திரத்தைப் பயன்படுத்துகிறார்கள்.