The code uses indentation to define blocks of code.

కోడ్ బ్లాక్‌లను నిర్వచించడానికి ఇండెంటేషన్‌ను ఉపయోగిస్తుంది.


Python is an object-oriented programming language.

పైథాన్ ఒక వస్తు ఆధారిత ప్రోగ్రామింగ్ భాష.


Comments are crucial for code readability.

కోడ్ చదవడానికి వ్యాఖ్యలు చాలా ముఖ్యం.


పైథాన్‌లో వేరియబుల్స్ విలువలను నిల్వ చేస్తాయి.


స్ట్రింగ్‌లు అక్షరాల శ్రేణులు.


The output of the program is displayed on the console.

ప్రోగ్రామ్ యొక్క అవుట్‌పుట్ కన్సోల్‌లో ప్రదర్శించబడుతుంది.


Understanding indentation is key to writing Python code.

పైథాన్ కోడ్ రాయడానికి ఇండెంటేషన్‌ను అర్థం చేసుకోవడం చాలా ముఖ్యం.


The `if` statement is used for conditional execution.

`if` స్టేట్‌మెంట్ షరతులతో కూడిన అమలు కోసం ఉపయోగించబడుతుంది.


విధులు పునర్వినియోగపరచదగిన కోడ్ బ్లాక్‌లు.


Python uses both integers and floating-point numbers.

పైథాన్ పూర్ణాంకాలు మరియు ఫ్లోటింగ్-పాయింట్ సంఖ్యలను ఉపయోగిస్తుంది.


The concept of objects is fundamental in Python.

పైథాన్‌లో వస్తువుల భావన ప్రాథమికమైనది.


Immutability is an important characteristic of strings and tuples.

మార్పులేనిది స్ట్రింగ్‌లు మరియు ట్యూపుల్స్ యొక్క ముఖ్యమైన లక్షణం.


Dictionaries store data in key-value pairs.

నిఘంటువులు కీ-విలువ జతలలో డేటాను నిల్వ చేస్తాయి.


The `for` loop is used for iterating over sequences.

`for` లూప్ సీక్వెన్స్‌లపై పునరావృతం చేయడానికి ఉపయోగించబడుతుంది.


Understanding the difference between mutable and immutable objects is crucial.

మార్పు చేయగల మరియు మార్పు చేయలేని వస్తువుల మధ్య వ్యత్యాసాన్ని అర్థం చేసుకోవడం చాలా ముఖ్యం.


The `while` loop continues as long as a condition is true.

ఒక షరతు నిజమైనంత వరకు `while` లూప్ కొనసాగుతుంది.


Classes define blueprints for creating objects.

తరగతులు వస్తువులను సృష్టించడానికి బ్లూప్రింట్‌లను నిర్వచిస్తాయి.


Error handling is essential for robust programs.

దోష నిర్వహణ బలమైన ప్రోగ్రామ్‌లకు అవసరం.


The `import` statement is used to include modules.

`import` స్టేట్‌మెంట్ మాడ్యూల్‌లను చేర్చడానికి ఉపయోగించబడుతుంది.


Python's flexibility makes it suitable for various applications.

పైథాన్ యొక్క సౌలభ్యం వివిధ అనువర్తనాలకు అనుకూలంగా ఉంటుంది.


The user requests the data and ultimately retrieves the data.

వినియోగదారుడు డేటాను అభ్యర్థిస్తాడు మరియు చివరకు డేటాను తిరిగి పొందుతాడు.


In the application layer (7), the user interacts with the device.

అప్లికేషన్ లేయర్ (7) లో, వినియోగదారుడు పరికరంతో సంకర్షణ చెందుతాడు.


డేటాను ఫార్మాట్ చేసి ఎన్క్రిప్ట్ చేయబడింది.


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 (user-to- server) communication.

ఈ లేయర్ ఎండ్-టు-ఎండ్ (వినియోగదారు నుండి సర్వర్ వరకు) కమ్యూనికేషన్ను నిర్వహిస్తుంది.


The name of the datagram of transport layer is “segment.”

ట్రాన్స్పోర్ట్ లేయర్ యొక్క డేటాగ్రామ్ పేరు “సెగ్మెంట్.”


It breaks your request into several fractions.

ఇది మీ అభ్యర్థనను అనేక భాగాలుగా విభజిస్తుంది.


It adds source and destination port numbers.

ఇది సోర్స్ మరియు డెస్టినేషన్ పోర్ట్ నంబర్లను జోడిస్తుంది.


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

మీ అభ్యర్థన గమ్యస్థానానికి చేరుకోవడానికి ఉత్తమ మార్గాన్ని కనుగొనేలా ఇది నిర్ధారిస్తుంది.


It is nearing the end point that is the server’s hardware.

ఇది సర్వర్ యొక్క హార్డ్వేర్ అయిన చివరి బిందువుకు చేరువలో ఉంది.


The switches belong to the layer 2 that is data link, and the router fits in the layer 3 that is network.

స్విచ్‌లు లేయర్ 2కి చెందినవి, ఇది డేటా లింక్, మరియు రౌటర్ లేయర్ 3లో సరిపోతుంది, ఇది నెట్‌వర్క్.


Routers communicate with other networks like the Internet.

రౌటర్లు ఇంటర్నెట్ వంటి ఇతర నెట్‌వర్క్‌లతో కమ్యూనికేట్ చేస్తాయి.


Internetworking models encourage interoperability between different devices.

ఇంటర్నెట్‌వర్కింగ్ నమూనాలు విభిన్న పరికరాల మధ్య ఇంటర్‌ఆపరేబిలిటీని ప్రోత్సహిస్తాయి.


OSI మోడల్‌లో ఏడు లేయర్‌లు ఉన్నాయి.


The first question that comes to our mind is: why do we need a virtual box when we have a default operating system in place?

మన మనస్సులోకి వచ్చే మొదటి ప్రశ్న ఏమిటంటే: మనకు డిఫాల్ట్ ఆపరేటింగ్ సిస్టమ్ ఉన్నప్పుడు వర్చువల్ బాక్స్ ఎందుకు అవసరం?


In a virtual box we can play with any operating system without any fear of messing it up.

వర్చువల్ బాక్స్‌లో, దాన్ని పాడుచేస్తామనే భయం లేకుండా మనం ఏదైనా ఆపరేటింగ్ సిస్టమ్‌తో ఆడవచ్చు.


Another great reason for using virtual box is the safety.

వర్చువల్ బాక్స్ ఉపయోగించడానికి మరొక గొప్ప కారణం భద్రత.


మీరు వాటిలో దేనినైనా ఎంచుకోవచ్చు.


వర్చువల్ బాక్స్ ఇన్‌స్టాల్ చేయడం చాలా సులభం.


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.

మేము కొన్ని నిర్దిష్ట పదాలను శోధించాలనుకుంటున్నాము మరియు వాటిని వేరు చేసి, వేరుగా చూడాలనుకుంటున్నాము.


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” వంటి కమాండ్ రాస్తే, అది ఈ Linux సిస్టమ్ యొక్క మూలాల యొక్క పొడవైన జాబితాను ప్రదర్శిస్తుంది.


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


It is interesting to note that we first issued a command like this: cat sources.list | grep src

మొదట మేము ఇలాంటి కమాండ్ ఇచ్చామని గమనించడం ఆసక్తికరంగా ఉంది: 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” ఫైల్‌లో ఉంచడానికి “>” (greater than గుర్తు) ఉపయోగించాము.


Now we will learn how to make directories in Linux.

ఇప్పుడు మనం Linuxలో డైరెక్టరీలను ఎలా తయారు చేయాలో నేర్చుకుంటాము.


There is a very useful command: “mkdir”.

ఇక్కడ చాలా ఉపయోగకరమైన కమాండ్ ఉంది: “mkdir”.


దీని అర్థం “డైరెక్టరీని తయారు చేయండి.”


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

ఈ ప్రాజెక్ట్ పేరుతో ఒక డైరెక్టరీని తయారు చేద్దాం: “ఎథికల్ హ్యాకింగ్.”


You may guess that the command is extremely simple: mkdir Ethical Hacking

కమాండ్ చాలా సులభం అని మీరు అనుకోవచ్చు: mkdir ఎథికల్ హ్యాకింగ్


In Ethical Hacking, anonymity is a very big deal.

ఎథికల్ హ్యాకింగ్‌లో, అనామకత్వం చాలా పెద్ద విషయం.


If we run this program now, the output will be: This is main function. a is less than b.

మనం ఇప్పుడు ఈ ప్రోగ్రామ్‌ను అమలు చేస్తే, అవుట్‌పుట్ ఇలా ఉంటుంది: ఇది ప్రధాన ఫంక్షన్. a, b కంటే తక్కువగా ఉంది.


Now we can change the place of conditional_values(), and conditionals_exec() and the output will change accordingly.

ఇప్పుడు మనం conditional_values(), మరియు conditionals_exec() స్థానాన్ని మార్చవచ్చు మరియు అవుట్‌పుట్ తదనుగుణంగా మారుతుంది.


While a statement is true, the process is going on.

ఒక ప్రకటన నిజమైనప్పుడు, ప్రక్రియ కొనసాగుతుంది.


You need a mechanism to stop that process.

మీరు ఆ ప్రక్రియను ఆపడానికి ఒక విధానం అవసరం.


So in each step b progresses by adding 1 to its value and finishes at 49.

కాబట్టి ప్రతి దశలో b దాని విలువకు 1ని జోడించడం ద్వారా అభివృద్ధి చెందుతుంది మరియు 49 వద్ద ముగుస్తుంది.


The output is quite obvious: 1 1 2 3 5 8 13 21 34

అవుట్‌పుట్ చాలా స్పష్టంగా ఉంది: 1 1 2 3 5 8 13 21 34


Let us explain the steps one by one to understand it properly.

దీనిని సరిగ్గా అర్థం చేసుకోవడానికి ఒక్కొక్కటిగా దశలను వివరిద్దాం.


Now the value of “a” is 16. What will be the value of b? It will be 16 + 16 = 32.

ఇప్పుడు “a” విలువ 16. b విలువ ఎంత? ఇది 16 + 16 = 32 అవుతుంది.


The most common loop used in Python is for loop.

పైథాన్‌లో ఉపయోగించే అత్యంత సాధారణ లూప్ ఫర్ లూప్.


In fact, essentially almost all kinds of looping jobs can be done through the “for” loop.

వాస్తవానికి, దాదాపు అన్ని రకాల లూపింగ్ పనులు “for” లూప్ ద్వారా చేయవచ్చు.


We could have iterated through line by line as they are indexed.

వాటిని సూచికలుగా చేసినందున మనం లైన్ ద్వారా లైన్ ద్వారా పునరావృతం చేయవచ్చు.


Dictionary says: enumeration is a kind of numbering which is a numbered list.

నిఘంటువు ఇలా చెబుతోంది: గణన అనేది ఒక రకమైన సంఖ్య, ఇది సంఖ్యల జాబితా.


This is extremely useful. You can search any character inside any string.

ఇది చాలా ఉపయోగకరంగా ఉంది. మీరు ఏదైనా స్ట్రింగ్‌లో ఏదైనా అక్షరాన్ని శోధించవచ్చు.


In Python, functions or subroutines are extremely important for reusability of codes.

పైథాన్‌లో, కోడ్‌లను తిరిగి ఉపయోగించుకోవడానికి ఫంక్షన్‌లు లేదా సబ్‌రొటీన్‌లు చాలా ముఖ్యమైనవి.


We have called that function three times inside main() function, but with three different values , and one of them is NULL.

మేము ఆ ఫంక్షన్‌ను main() ఫంక్షన్ లోపల మూడు సార్లు పిలిచాము, కానీ మూడు వేర్వేరు విలువలతో, వాటిలో ఒకటి NULL.


Searching and replacing with regular expressions is equally easy and very simple in nature.

రెగ్యులర్ ఎక్స్‌ప్రెషన్‌లతో శోధించడం మరియు భర్తీ చేయడం కూడా అంతే సులభం మరియు స్వభావంలో చాలా సులభం.


If you want to use “re” module, the first step is importation.

మీరు “re” మాడ్యూల్‌ని ఉపయోగించాలనుకుంటే, మొదటి దశ దిగుమతి చేసుకోవడం.


All the words “lenore” and “nevermore” have been replaced by five hashtags: “#####”.

అన్ని “lenore” మరియు “nevermore” పదాలు ఐదు హ్యాష్‌ట్యాగ్‌లతో భర్తీ చేయబడ్డాయి: “#####”.


We need to open a file and put it into the “try block” to avoid getting any nasty error message.

ఎటువంటి చెడు లోపం సందేశాన్ని పొందకుండా ఉండటానికి మనం ఒక ఫైల్‌ను తెరిచి, దానిని “try block” లో ఉంచాలి.


Regular expressions are a very powerful method of matching patterns.

రెగ్యులర్ ఎక్స్‌ప్రెషన్‌లు నమూనాలను సరిపోల్చడానికి చాలా శక్తివంతమైన పద్ధతి.


The book provides a comprehensive introduction to ethical hacking.

ఈ పుస్తకం నైతిక హ్యాకింగ్‌కు సమగ్రమైన పరిచయం అందిస్తుంది.


Install VirtualBox to create a safe environment for practicing hacking techniques.

హ్యాకింగ్ పద్ధతులను అభ్యసించడానికి సురక్షితమైన వాతావరణాన్ని సృష్టించడానికి వర్చువల్ బాక్స్ ను ఇన్‌స్టాల్ చేయండి.


Ethical hackers use the same tools as malicious hackers, but with different intentions.

నైతిక హ్యాకర్లు హానికరమైన హ్యాకర్ల మాదిరిగానే సాధనాలను ఉపయోగిస్తారు, కానీ వేరే ఉద్దేశ్యాలతో.


Understanding the legal aspects of hacking is crucial before you start.

మీరు ప్రారంభించే ముందు హ్యాకింగ్ యొక్క చట్టపరమైన అంశాలను అర్థం చేసుకోవడం చాలా ముఖ్యం.


Python is a great language for beginners to learn ethical hacking.

నైతిక హ్యాకింగ్‌ను నేర్చుకోవడానికి పైథాన్ ప్రారంభకులకు గొప్ప భాష.


Always obtain permission before testing a system's security.

ఒక సిస్టమ్ యొక్క భద్రతను పరీక్షించే ముందు ఎల్లప్పుడూ అనుమతి పొందండి.


The book covers topics like network security, web application security, and penetration testing.

ఈ పుస్తకం నెట్‌వర్క్ భద్రత, వెబ్ అప్లికేషన్ భద్రత మరియు చొచ్చుకుపోయే పరీక్ష వంటి అంశాలను కవర్ చేస్తుంది.


Learn about the different layers of the OSI model.

OSI మోడల్ యొక్క వివిధ లేయర్‌ల గురించి తెలుసుకోండి.


A network is a collection of devices connected through media.

ఒక నెట్‌వర్క్ అనేది మీడియా ద్వారా అనుసంధానించబడిన పరికరాల సమాహారం.


Data travels through many layers in a network.

ఒక నెట్‌వర్క్‌లో డేటా అనేక లేయర్‌ల ద్వారా ప్రయాణిస్తుంది.


The author uses Ubuntu Linux as his default operating system.

రచయిత తన డిఫాల్ట్ ఆపరేటింగ్ సిస్టమ్‌గా ఉబుంటు లైనక్స్ ఉపయోగిస్తాడు.


This book is intended for those who are creative and curious.

ఈ పుస్తకం సృజనాత్మక మరియు ఆసక్తిగల వారి కోసం ఉద్దేశించబడింది.


Ethical hacking is not associated with any kind of illegal electronic activities.

నైతిక హ్యాకింగ్ ఏ విధమైన చట్టవిరుద్ధమైన ఎలక్ట్రానిక్ కార్యకలాపాలతో సంబంధం కలిగి ఉండదు.


The book provides examples of computer crimes that are punishable by law.

చట్టం ద్వారా శిక్షించదగిన కంప్యూటర్ నేరాలకు సంబంధించిన ఉదాహరణలను ఈ పుస్తకం అందిస్తుంది.


If you use any software tool to generate a credit card number, it is a highly punishable offense.

మీరు క్రెడిట్ కార్డ్ నంబర్‌ను రూపొందించడానికి ఏదైనా సాఫ్ట్‌వేర్ సాధనాన్ని ఉపయోగిస్తే, అది తీవ్రమైన నేరం.


Setting up a bogus website to take credit card numbers is a highly punishable offense.

క్రెడిట్ కార్డ్ నంబర్‌లను తీసుకోవడానికి నకిలీ వెబ్‌సైట్‌ను ఏర్పాటు చేయడం అనేది తీవ్రమైన నేరం.


The main intention of an ethical hacker centers on the security of the system.

ఒక నైతిక హ్యాకర్ యొక్క ప్రధాన ఉద్దేశ్యం సిస్టమ్ యొక్క భద్రతపై కేంద్రీకృతమై ఉంటుంది.


Security consists of four key components: availability, integrity, authenticity, and confidentiality.

భద్రత నాలుగు ముఖ్యమైన భాగాలను కలిగి ఉంటుంది: లభ్యత, సమగ్రత, ప్రామాణికత మరియు గోప్యత.


A hacker may use the 'Denial of Service' (DoS) method to block the availability of data.

డేటా లభ్యతను నిరోధించడానికి ఒక హ్యాకర్ 'సేవా నిరాకరణ' (DoS) పద్ధతిని ఉపయోగించవచ్చు.


The issue of authentication is normally handled by Media Access Control (MAC) filtering.

గుర్తింపును ధృవీకరించే సమస్యను సాధారణంగా మీడియా యాక్సెస్ కంట్రోల్ (MAC) ఫిల్టరింగ్ నిర్వహిస్తుంది.


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() ఫంక్షన్ పరిమితిని కలిగి ఉందని మీరు బహుశా కనుగొన్నారు.


It stops at 9, although the range is mentioned as 10.

శ్రేణి 10 అని పేర్కొనబడినప్పటికీ, ఇది 9 వద్ద ఆగిపోతుంది.


ఇక్కడ మేము “yield” కీవర్డ్‌ను ఉపయోగించాము.


You can just start from any point or stop at any point and progress by any step.

మీరు ఏదైనా పాయింట్ నుండి ప్రారంభించవచ్చు లేదా ఏదైనా పాయింట్ వద్ద ఆపవచ్చు మరియు ఏదైనా దశ ద్వారా ముందుకు సాగవచ్చు.


As you have seen, we can set the value of any argument as default.

మీరు చూసినట్లుగా, మేము ఏదైనా వాదన యొక్క విలువను డిఫాల్ట్‌గా సెట్ చేయవచ్చు.


పైథాన్ దీనికి మద్దతు ఇవ్వదు.


కనీసం ఒక వాదన అవసరం.


In Python sometimes you need arbitrary number of arguments and you have to name them.

పైథాన్‌లో కొన్నిసార్లు మీకు ఇష్టానుసారంగా వాదనల సంఖ్య అవసరం మరియు మీరు వాటిని పేరు పెట్టాలి.


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.

ఒక వస్తువు అనేది నిజ ప్రపంచ సంస్థ యొక్క ప్రాతినిధ్యం.


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

ఆబ్జెక్ట్ ఓరియంటేషన్ యొక్క ప్రయోజనం ఏమిటంటే, మీరు పెద్ద, సంక్లిష్టమైన ప్రాజెక్ట్‌లో ఒక భాగంలో పని చేసినప్పుడు, ఇతర భాగం ప్రభావితం కాదు.


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

ఒక కారు వస్తువు టైర్, చక్రం, ఇంజిన్, యాక్సిలరేటర్ మొదలైన అనేక ఇతర వస్తువులతో నిర్మించబడింది.


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).

మీరు (ఒక వస్తువు) మీ టెలివిజన్‌తో (మరొక వస్తువు) రిమోట్ కంట్రోలర్ (మరొక వస్తువు) ద్వారా పంపిన సందేశాల ద్వారా పరస్పర చర్య చేస్తారు.


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

జాబితాలలో, మీరు చాలా సులభంగా కొత్త విలువలను నవీకరించవచ్చు లేదా జోడించవచ్చు.


Open up your terminal in Linux and IDLE in Windows.

Linux లో మీ టెర్మినల్ ను మరియు Windows లో IDLE ను తెరవండి.


Write down the code below and see the output yourself.

దిగువ కోడ్‌ను వ్రాసి, మీరే అవుట్‌పుట్‌ను చూడండి.


Please read the comments that are attached with the code.

కోడ్‌తో జతచేయబడిన వ్యాఖ్యలను దయచేసి చదవండి.


అవుట్‌పుట్ ఈ విధంగా ఉంది:


ట్యూపుల్ మరియు జాబితా వస్తువుపై పనిచేస్తోంది


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.

నిఘంటువు యొక్క మరొక ముఖ్యమైన భావన "కీ=>విలువ" జత.


As you progress further and learn more languages along with Python, you will find that each language uses this concept, taking it further to solve major problems.

మీరు మరింత ముందుకు సాగుతున్నప్పుడు మరియు పైథాన్‌తో పాటు మరిన్ని భాషలను నేర్చుకున్నప్పుడు, ప్రతి భాష ఈ భావనను ఉపయోగిస్తుందని మీరు కనుగొంటారు, ఇది ప్రధాన సమస్యలను పరిష్కరించడానికి మరింత ముందుకు తీసుకువెళుతుంది.


Database operations in Python are fairly simple.

పైథాన్‌లో డేటాబేస్ కార్యకలాపాలు చాలా సులభం.


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

దీనిని సృష్టించడం, తిరిగి పొందడం మరియు నవీకరించడం మరియు తొలగించడం ద్వారా మీరు సులభంగా నిర్వహించవచ్చు.


ప్రాథమిక పదం “CRUD .”,


With any database you generally perform these actions.

ఏదైనా డేటాబేస్‌తో మీరు సాధారణంగా ఈ చర్యలను నిర్వహిస్తారు.


SQLite3 తో ప్రారంభిద్దాం.


There is a large library inside the Python home.

పైథాన్ హోమ్‌లో పెద్ద లైబ్రరీ ఉంది.


All the functions and properties of SQLite3 are stored there, so you can easily import them and use them for your project.

SQLite3 యొక్క అన్ని విధులు మరియు లక్షణాలు అక్కడ నిల్వ చేయబడతాయి, కాబట్టి మీరు వాటిని సులభంగా దిగుమతి చేసుకోవచ్చు మరియు మీ ప్రాజెక్ట్ కోసం ఉపయోగించవచ్చు.


పెద్ద ప్రాజెక్ట్ కోసం MySQL


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

కానీ పెద్ద ప్రాజెక్ట్ కోసం, MySQL వంటి డేటాబేస్‌ను ఎంచుకోవడం మంచిది.


In Windows or Linux, installing PHPMyAdmin is very easy.

Windows లేదా Linuxలో, PHPMyAdminని ఇన్‌స్టాల్ చేయడం చాలా సులభం.


రెండు వేర్వేరు సెటప్‌లు ఉన్నాయని అనుకుందాం.


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” అనే పట్టిక ఉంది, ఇది కొన్ని పేర్లను కలిగి ఉన్న అనేక వరుసలను కలిగి ఉంది.


వస్తువు డేటాను యాక్సెస్ చేస్తోంది


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లను ఉపయోగిస్తారు—ఎల్లప్పుడూ సర్వర్‌ను తీసివేయడం లేదా డేటాను దొంగిలించడం వంటి హానికరమైన పనులు చేయడానికి కాదు.


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

పైథాన్ కోడ్ పైథాన్ వెర్షన్‌ను గుర్తించడానికి 'sys' మాడ్యూల్‌ను ఉపయోగిస్తుంది.


The operating system information is also displayed, showing 'posix' in a Linux environment.

ఆపరేటింగ్ సిస్టమ్ సమాచారం కూడా ప్రదర్శించబడుతుంది, ఇది లైనక్స్ వాతావరణంలో 'posix'ని చూపుతుంది.


The code then fetches a webpage using 'urllib.request'.

అనంతరం కోడ్ 'urllib.request'ని ఉపయోగించి వెబ్‌పేజీని తెస్తుంది.


The output includes the Python version, operating system details, and the environment path.

అవుట్‌పుట్‌లో పైథాన్ వెర్షన్, ఆపరేటింగ్ సిస్టమ్ వివరాలు మరియు ఎన్విరాన్‌మెంట్ మార్గం ఉన్నాయి.


The example demonstrates how different modules work in Python.

పైథాన్‌లో వివిధ మాడ్యూల్స్ ఎలా పని చేస్తాయో ఉదాహరణ చూపిస్తుంది.


The 'random' and 'datetime' modules are added to the code.

'random' మరియు 'datetime' మాడ్యూల్స్‌ను కోడ్‌కు జోడించారు.


The 'random' module generates new numbers each time the code is run.

'random' మాడ్యూల్ కోడ్ అమలు చేసిన ప్రతిసారీ కొత్త సంఖ్యలను ఉత్పత్తి చేస్తుంది.


The 'unittest' module helps in debugging and updating code.

'unittest' మాడ్యూల్ కోడ్‌ను డీబగ్గింగ్ చేయడానికి మరియు అప్‌డేట్ చేయడానికి సహాయపడుతుంది.


The 'unittest' module is used to test the code.

కోడ్‌ను పరీక్షించడానికి 'unittest' మాడ్యూల్ ఉపయోగించబడుతుంది.


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

'assertEqual()' పద్ధతిని ఎలా ఉపయోగించాలో ఉదాహరణ చూపిస్తుంది.


The output of the 'unittest' module indicates whether the code passes or fails.

'unittest' మాడ్యూల్ యొక్క అవుట్‌పుట్ కోడ్ పాస్ అవుతుందా లేదా విఫలమవుతుందా అని సూచిస్తుంది.


The chapter introduces advanced Python concepts.

ఈ అధ్యాయం అధునాతన పైథాన్ భావనలను పరిచయం చేస్తుంది.


Socket and networking concepts are discussed.

సాకెట్ మరియు నెట్‌వర్కింగ్ భావనలు చర్చించబడ్డాయి.


The code uses 'socket.gethostbyname()' to get website addresses.

వెబ్‌సైట్ చిరునామాలను పొందడానికి కోడ్ 'socket.gethostbyname()'ని ఉపయోగిస్తుంది.


Nmap is a security scanner used to discover hosts and services.

హోస్ట్‌లు మరియు సేవలని కనుగొనడానికి Nmap అనేది భద్రతా స్కానర్.


Nmap sends crafted packets to the target host.

Nmap లక్ష్య హోస్ట్‌కు రూపొందించిన ప్యాకెట్‌లను పంపుతుంది.


The Nmap module can be imported into Python.

Nmap మాడ్యూల్‌ను పైథాన్‌లోకి దిగుమతి చేసుకోవచ్చు.


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

లక్ష్య IP చిరునామాను స్కాన్ చేయడానికి స్క్రిప్ట్ Nmap మాడ్యూల్‌ను ఉపయోగిస్తుంది.


The output shows open ports and their associated services.

అవుట్‌పుట్ తెరిచిన పోర్ట్‌లు మరియు వాటి అనుబంధిత సేవలను చూపుతుంది.


నైతిక హ్యాకర్లు అనామకంగా ఉండాలి.


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

ఇది కాలి లినక్స్ వర్చువల్ మెషిన్ యొక్క MAC చిరునామా లేదా స్థానిక నెట్‌వర్క్ కార్డ్ చిరునామా.


అవి నెట్‌వర్క్ కార్డులు.


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’s because the command “ifconfig ” will only show the current MAC address.

ఎందుకంటే “ifconfig” ఆదేశం ప్రస్తుత MAC చిరునామాను మాత్రమే చూపుతుంది.


It won’t show the permanent MAC address.

ఇది శాశ్వత MAC చిరునామాను చూపించదు.


Now we’d like to change our MAC address.

ఇప్పుడు మనం మన MAC చిరునామాను మార్చుకోవాలనుకుంటున్నాము.


And it will produce an output like this :

మరియు ఇది ఇలాంటి అవుట్‌పుట్‌ను ఉత్పత్తి చేస్తుంది:


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.

మొదటి మూడు సెట్‌లు నెట్ కార్డ్ తయారీదారునికి చెందినవి మరియు అది మారనందున, మిమ్మల్ని గుర్తించవచ్చు.


It says: you can change back to the original MAC address.

ఇది ఇలా చెబుతుంది: మీరు అసలు MAC చిరునామాకు తిరిగి మారవచ్చు.


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.

వాటిలో అత్యంత ముఖ్యమైనది చివరి నీలం రంగు గీత.


ఇది ఎందుకు ముఖ్యం?


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.