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

प्रोग्राम चलता है, और बाहर का print() फ़ंक्शन पहले निष्पादित होता है।


White space or indentation in Python plays a major role.

Python में व्हाइट स्पेस या इंडेंटेशन एक महत्वपूर्ण भूमिका निभाता है।


Every block of code has its own white space or the code inside that block is indented accordingly.

कोड के प्रत्येक ब्लॉक का अपना व्हाइट स्पेस होता है या उस ब्लॉक के अंदर का कोड तदनुसार इंडेंट किया जाता है।


Commenting is very important in any kind of programming.

किसी भी प्रकार की प्रोग्रामिंग में कमेंटिंग बहुत महत्वपूर्ण है।


When Python interpreter sees #, it knows that is a comment and it ignores it.

जब Python इंटरप्रेटर # देखता है, तो वह जानता है कि यह एक कमेंट है और वह इसे अनदेखा कर देता है।


In Python, the assignment operator is an equal (=) sign.

Python में, असाइनमेंट ऑपरेटर एक बराबर (=) चिह्न है।


What is a string? A string is an addition of characters.

एक स्ट्रिंग क्या है? एक स्ट्रिंग अक्षरों का एक संयोजन है।


Python is an object-oriented programming language.

Python एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है।


अपने आप को एक वस्तु के रूप में कल्पना करें।


Every object has an ID, type, and value.

प्रत्येक वस्तु का एक आईडी, प्रकार और मान होता है।


Numbers, strings, and tuples are immutable.

संख्याएँ, स्ट्रिंग और टुपल्स अपरिवर्तनीय हैं।


Lists, dictionaries, and other objects are mutable.

सूचियाँ, शब्दकोश और अन्य वस्तुएँ परिवर्तनीय हैं।


In Python there are two kinds of numbers: integer and float.

Python में दो प्रकार की संख्याएँ हैं: पूर्णांक और फ्लोट।


String is an immutable object and can be written within double quotes or single quotes.

स्ट्रिंग एक अपरिवर्तनीय वस्तु है और इसे डबल कोट्स या सिंगल कोट्स के अंदर लिखा जा सकता है।


हमने एक नई लाइन प्राप्त करने के लिए एक बैकस्लैश का उपयोग किया।


The last statement is called a raw string, where a backslash is not working anymore.

अंतिम कथन को एक कच्ची स्ट्रिंग कहा जाता है, जहाँ बैकस्लैश अब काम नहीं कर रहा है।


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

हम एक स्ट्रिंग के बीच में एक पूर्णांक डाल सकते हैं।


In your coding life you need to use plenty of strings.

अपने कोडिंग जीवन में आपको बहुत सारी स्ट्रिंग का उपयोग करने की आवश्यकता है।


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

Python में मानों का एक और बहुत मजबूत समग्र प्रकार है: शब्दकोश।


Python एक ऑब्जेक्ट-ओरिएंटेड भाषा है।


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.

यह उस अंतिम बिंदु के करीब है जो सर्वर का हार्डवेयर है।


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

यह फ्रेम दर फ्रेम जांचता है कि क्या स्रोत अनुरोध सही गंतव्य तक पहुंचते हैं।


Now we can imagine a small office with one router, two switches and a few desktops, laptops, printers, and servers.

अब हम एक छोटे से कार्यालय की कल्पना कर सकते हैं जिसमें एक राउटर, दो स्विच और कुछ डेस्कटॉप, लैपटॉप, प्रिंटर और सर्वर हैं।


Routers communicate with other networks like the Internet.

राउटर इंटरनेट जैसे अन्य नेटवर्क के साथ संचार करते हैं।


Internetworking models encourage interoperability between different devices.

इंटरनेटवर्किंग मॉडल विभिन्न उपकरणों के बीच अंतरसंचालनीयता को प्रोत्साहित करते हैं।


The most important reason is: in a virtual box we can play with any operating system without any fear of messing it up, even breaking it up.

सबसे महत्वपूर्ण कारण यह है: एक वर्चुअल बॉक्स में हम किसी भी ऑपरेटिंग सिस्टम के साथ बिना किसी डर के खेल सकते हैं, यहां तक कि इसे तोड़ने का भी डर नहीं होता।


आप उनमें से किसी एक को चुन सकते हैं।


वर्चुअल बॉक्स को स्थापित करना बहुत आसान है।


In any Linux distribution, it is extremely easy to learn.

किसी भी लिनक्स वितरण में, इसे सीखना बेहद आसान है।


You can allocate the memory size as per your machine capacity.

आप अपनी मशीन की क्षमता के अनुसार मेमोरी का आकार आवंटित कर सकते हैं।


The book is intended for complete programming beginners.

यह पुस्तक उन लोगों के लिए है जो प्रोग्रामिंग में बिल्कुल नए हैं।


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

नैतिक हैकिंग का संबंध किसी भी प्रकार की अवैध इलेक्ट्रॉनिक गतिविधियों से नहीं है।


This book is intended for those people – young and old – who are creative and curious.

यह पुस्तक उन लोगों के लिए है - युवा और वृद्ध - जो रचनात्मक और जिज्ञासु हैं।


We’ll also learn Python 3 programming language to enhance our skill as ethical hackers.

हम नैतिक हैकर्स के रूप में अपने कौशल को बढ़ाने के लिए पायथन 3 प्रोग्रामिंग भाषा भी सीखेंगे।


If anyone tries to use this book for illegal purpose this book will take no moral responsibility.

यदि कोई इस पुस्तक का उपयोग अवैध उद्देश्य के लिए करने का प्रयास करता है, तो यह पुस्तक कोई नैतिक जिम्मेदारी नहीं लेगी।


I hope you won’t like the idea of ending up in jail by harming some other systems.

मुझे उम्मीद है कि आपको अन्य सिस्टम को नुकसान पहुंचाकर जेल जाने का विचार पसंद नहीं आएगा।


The author is using “Ubuntu” Linux distribution as his default operating system.

लेखक अपने डिफ़ॉल्ट ऑपरेटिंग सिस्टम के रूप में “उबंटू” लिनक्स वितरण का उपयोग कर रहा है।


As an ethical hacker you will learn how to defend yourself.

एक नैतिक हैकर के रूप में, आप सीखेंगे कि अपनी रक्षा कैसे करें।


More you know about your enemy’s strategy, more you can defend yourself.

आप अपने दुश्मन की रणनीति के बारे में जितना अधिक जानते हैं, आप अपनी रक्षा उतनी ही बेहतर तरीके से कर सकते हैं।


They use the same tool that you use to defend yourself.

वे उसी उपकरण का उपयोग करते हैं जिसका उपयोग आप अपनी रक्षा के लिए करते हैं।


केवल आपका उद्देश्य या इरादा अलग है।


मूल रूप से यह “पेंटेस्टिंग” का काम है।


The locking experts PENTESTS the system and see if there is any weakness in the system.

लॉकिंग विशेषज्ञ सिस्टम का पेंटेस्ट करते हैं और देखते हैं कि क्या सिस्टम में कोई कमजोरी है।


I hope by now you have understood the difference between ethical hacking and cracking.

मुझे उम्मीद है कि अब तक आप नैतिक हैकिंग और क्रैकिंग के बीच का अंतर समझ गए होंगे।


Security consists of four key components.

सुरक्षा में चार प्रमुख घटक शामिल हैं।


We will see how crackers want to attack these components to gain access to the system.

हम देखेंगे कि क्रैकर सिस्टम तक पहुँच प्राप्त करने के लिए इन घटकों पर कैसे हमला करना चाहते हैं।


Let us assume the hacker wants to block the availability of the data.

मान लीजिए कि हैकर डेटा की उपलब्धता को ब्लॉक करना चाहता है।


When the resource or bandwidth of your system is eaten up completely, the server usually crashes.

जब आपके सिस्टम का संसाधन या बैंडविड्थ पूरी तरह से समाप्त हो जाता है, तो सर्वर आमतौर पर क्रैश हो जाता है।


The second key component Integrity should not be compromised at any cost.

दूसरा प्रमुख घटक अखंडता किसी भी कीमत पर समझौता नहीं किया जाना चाहिए।


Imagine what happens when a transaction of money is tampered with the addition of few more zeroes at the end!

कल्पना कीजिए कि क्या होता है जब पैसे के लेनदेन में अंत में कुछ और शून्य जोड़ने के साथ छेड़छाड़ की जाती है!


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


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.

हम अपनी खोजों को और सीमित कर सकते हैं और टर्मिनल को केवल छोटे अक्षरों वाले “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.”

आइए इस परियोजना के नाम पर एक निर्देशिका बनाते हैं: “एथिकल हैकिंग।”


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

आप अनुमान लगा सकते हैं कि कमांड बेहद सरल है: mkdir Ethical Hacking


The program's output will be displayed after execution.

कार्यक्रम का आउटपुट निष्पादन के बाद प्रदर्शित किया जाएगा।


The 'while' loop is the simplest form of loop in Python.

'while' लूप पायथन में लूप का सबसे सरल रूप है।


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

आपको उस प्रक्रिया को रोकने के लिए एक तंत्र की आवश्यकता है; अन्यथा, यह आपकी मेमोरी खा जाएगा।


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.

आइए इसे ठीक से समझने के लिए एक-एक करके चरणों की व्याख्या करें।


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

पायथन में उपयोग किया जाने वाला सबसे आम लूप 'for' लूप है।


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

हम उन्हें इंडेक्स किए जाने के कारण लाइन दर लाइन दोहरा सकते थे।


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 the main() function, but with three different values.

हमने उस फ़ंक्शन को main() फ़ंक्शन के अंदर तीन बार कॉल किया है, लेकिन तीन अलग-अलग मानों के साथ।


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

नियमित अभिव्यक्तियों के साथ खोजना और बदलना प्रकृति में समान रूप से आसान और बहुत सरल है।


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

यदि आप 're' मॉड्यूल का उपयोग करना चाहते हैं, तो पहला कदम आयात करना है।


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

सभी शब्दों 'lenore' और 'nevermore' को पांच हैशटैग से बदल दिया गया है: '#####'।


We use two methods of the 're' module that we import and write on the top of the code.

हम 're' मॉड्यूल के दो तरीकों का उपयोग करते हैं जिसे हम आयात करते हैं और कोड के शीर्ष पर लिखते हैं।


Beginners may find this 'try block' quite intimidating.

शुरुआती लोगों को यह 'try block' काफी डरावना लग सकता है।


Regular expressions are a very powerful method of matching patterns.

नियमित अभिव्यक्तियाँ पैटर्न से मिलान करने का एक बहुत शक्तिशाली तरीका हैं।


It is beyond our scope to teach regular expression here but we can at least have some idea.

नियमित अभिव्यक्ति को यहां सिखाना हमारे दायरे से बाहर है, लेकिन हम कम से कम कुछ विचार कर सकते हैं।


There are two distinguishable kinds of errors.

दो अलग-अलग प्रकार की त्रुटियाँ हैं।


It is always good to catch those errors and get a nice output.

उन त्रुटियों को पकड़ना और एक अच्छा आउटपुट प्राप्त करना हमेशा अच्छा होता है।


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.

यह 9 पर रुक जाता है, हालाँकि रेंज को 10 के रूप में उल्लेखित किया गया है।


यहाँ हमने “yield” कीवर्ड का उपयोग किया है।


It is done because we have imagined that the code will progress step-by-step like we play a tape.

यह इसलिए किया गया है क्योंकि हमने कल्पना की है कि कोड एक टेप चलाने की तरह चरण-दर-चरण आगे बढ़ेगा।


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

आप किसी भी बिंदु से शुरू कर सकते हैं या किसी भी बिंदु पर रुक सकते हैं और किसी भी चरण से आगे बढ़ सकते हैं।


पायथन इसका समर्थन नहीं करता है।


Can we solve this problem so that we can pass any number of arguments and control it without having any error message?

क्या हम इस समस्या का समाधान कर सकते हैं ताकि हम बिना किसी त्रुटि संदेश के किसी भी संख्या में तर्क पास कर सकें और इसे नियंत्रित कर सकें?


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

हमारे कोड में, *args या *params का मतलब तर्कों की सूची है।


You can pass any number of arguments through them.

आप उनके माध्यम से किसी भी संख्या में तर्क पास कर सकते हैं।


In code def PassingListsOfArguments(arg1, arg2, arg3, arg4, *args): means you need to pass four arguments first.

कोड में def PassingListsOfArguments(arg1, arg2, arg3, arg4, *args): का मतलब है कि आपको पहले चार तर्क पास करने होंगे।


यह अनिवार्य है।


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.

एक ऑब्जेक्ट वास्तविक दुनिया की इकाई का प्रतिनिधित्व है।


If you get a flat tire does the engine stop?

अगर टायर पंचर हो जाए तो क्या इंजन बंद हो जाता है?


एक ऑब्जेक्ट पर विचार करें, “GoodHuman”।


The advantage of Python classes is that they provide all the standard features of object-oriented programming.

पायथन कक्षाओं का लाभ यह है कि वे ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की सभी मानक सुविधाएँ प्रदान करती हैं।


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” है।


With any database you generally perform these actions.

किसी भी डेटाबेस के साथ, आप आमतौर पर ये क्रियाएं करते हैं।


आइए SQLite3 से शुरू करें।


बड़े प्रोजेक्ट के लिए MySQL


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” नामक एक डेटाबेस है।


Now we are going to connect to that database first.

अब हम पहले उस डेटाबेस से कनेक्ट करने जा रहे हैं।


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 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” नामक एक तालिका है जिसमें कई पंक्तियाँ हैं जिनमें कुछ नाम हैं।


Accessing Object Data When an object is created from a class it is quite obvious that it will have some kind of data.

ऑब्जेक्ट डेटा तक पहुँचना जब किसी क्लास से कोई ऑब्जेक्ट बनाया जाता है तो यह स्पष्ट है कि उसमें किसी प्रकार का डेटा होगा।


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

यह पायथन कोड पायथन संस्करण निर्धारित करने के लिए 'sys' मॉड्यूल का उपयोग करता है।


The output shows the operating system information, including the path variables.

आउटपुट ऑपरेटिंग सिस्टम की जानकारी दिखाता है, जिसमें पथ चर भी शामिल हैं।


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

फिर कोड 'urllib.request' मॉड्यूल का उपयोग करके एक वेबपेज का अनुरोध करता है और उसे प्राप्त करता है।


The example demonstrates how different modules work in a Python script.

उदाहरण दिखाता है कि पायथन स्क्रिप्ट में विभिन्न मॉड्यूल कैसे काम करते हैं।


The output varies depending on the operating system, as seen in the 'posix' and 'nt' examples.

आउटपुट ऑपरेटिंग सिस्टम के आधार पर भिन्न होता है, जैसा कि 'posix' और 'nt' उदाहरणों में देखा गया है।


The 'random' and 'datetime' modules are added to the code to generate random numbers and handle date/time.

'random' और 'datetime' मॉड्यूल को कोड में यादृच्छिक संख्याएँ उत्पन्न करने और तिथि/समय को संभालने के लिए जोड़ा जाता है।


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

हर बार जब कोड चलता है, तो 'random' मॉड्यूल नई यादृच्छिक संख्याएँ उत्पन्न करता है।


The Python Standard Library provides detailed documentation on modules like 'datetime'.

पायथन स्टैंडर्ड लाइब्रेरी 'datetime' जैसे मॉड्यूल पर विस्तृत दस्तावेज़ प्रदान करती है।


The 'unittest' module helps in debugging and testing Python code.

'unittest' मॉड्यूल पायथन कोड को डीबग और टेस्ट करने में मदद करता है।


The example shows how to use 'unittest' to check if a code passes or fails.

उदाहरण दिखाता है कि यह जांचने के लिए 'unittest' का उपयोग कैसे करें कि कोई कोड पास होता है या विफल होता है।


The 'assertEqual()' method is used to compare the outputs of different methods.

'assertEqual()' विधि का उपयोग विभिन्न विधियों के आउटपुट की तुलना करने के लिए किया जाता है।


The output of the 'unittest' module indicates whether the tests have passed or failed.

'unittest' मॉड्यूल का आउटपुट इंगित करता है कि परीक्षण पास हुए हैं या विफल हुए हैं।


Intentional errors can be introduced to test the failure of the 'unittest' module.

'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' मॉड्यूल का उपयोग करके किसी वेबसाइट का आईपी पता प्राप्त करने का तरीका दर्शाता है।


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

Nmap टूल का उपयोग नेटवर्क मैपिंग और सुरक्षा स्कैनिंग के लिए किया जाता है।


Nmap sends specially crafted packets to find open ports and assess vulnerabilities.

Nmap खुले पोर्ट खोजने और कमजोरियों का आकलन करने के लिए विशेष रूप से तैयार किए गए पैकेट भेजता है।


The example shows how to use the Nmap module in a Python script.

उदाहरण दिखाता है कि पायथन स्क्रिप्ट में Nmap मॉड्यूल का उपयोग कैसे करें।


The script scans a target IP address and displays the open ports.

स्क्रिप्ट एक लक्ष्य आईपी पते को स्कैन करती है और खुले पोर्ट प्रदर्शित करती है।


Ethical hackers must maintain anonymity to protect their identity.

नैतिक हैकर्स को अपनी पहचान की रक्षा के लिए गुमनामी बनाए रखनी चाहिए।


You’ve probably heard of “virtual private network .” What is that?

आपने शायद “वर्चुअल प्राइवेट नेटवर्क” के बारे में सुना होगा। वह क्या है?


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.

भविष्य में, जब आप एक पेशेवर के रूप में काम करेंगे, तो आपको एक वीपीएन सेवा किराए पर लेनी होगी।


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

लेकिन एक बार जब आप वीपीएन के माध्यम से अपने ट्रैफ़िक को एन्क्रिप्ट कर लेते हैं, तो यह पहचाना जा सकता है।


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

क्या होगा यदि कोई एजेंसी सेवा प्रदाताओं से आपका डेटा मांगती है?


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.

लेकिन ऐसा कहने और सर्वश्रेष्ठ की उम्मीद करने के बाद, मैं निश्चित रूप से आपको प्रॉक्सी या वीपीएन का उपयोग करके अपनी व्हाइट हैट एथिकल हैकिंग करने की सलाह नहीं दूंगा।


People might want to hide their location just when they are traveling, or that kind of thing.

लोग शायद अपनी लोकेशन छिपाना चाहें, खासकर जब वे यात्रा कर रहे हों, या इस तरह की कोई बात हो।


There is another problem that might crop up while you access a certain type of server that usually allows IP addresses from a certain region.

एक और समस्या है जो तब आ सकती है जब आप एक निश्चित प्रकार के सर्वर तक पहुँचते हैं जो आमतौर पर एक निश्चित क्षेत्र के आईपी पते की अनुमति देता है।


In that case, if you use an IP address from China or Russia, the network administrator would certainly go after you.

उस स्थिति में, यदि आप चीन या रूस से एक आईपी एड्रेस का उपयोग करते हैं, तो नेटवर्क प्रशासक निश्चित रूप से आपके पीछे जाएगा।


So it is a consistent problem that keeps coming and tormenting you from time to time and in the coming chapters we would like address those problems.

इसलिए यह एक लगातार समस्या है जो समय-समय पर आती रहती है और आपको परेशान करती रहती है और आने वाले अध्यायों में हम उन समस्याओं का समाधान करना चाहेंगे।


I should warn you before you try Tor and enter the dark web.

मुझे आपको चेतावनी देनी चाहिए इससे पहले कि आप टोर आज़माएँ और डार्क वेब में प्रवेश करें।


It could be like human trafficking . It could be like illegal arms dealing.

यह मानव तस्करी जैसा हो सकता है। यह अवैध हथियार डीलिंग जैसा हो सकता है।


As an ethical hacker, you need to know everything for one and only one purpose.

एक नैतिक हैकर के रूप में, आपको केवल एक ही उद्देश्य के लिए सब कुछ जानने की आवश्यकता है।


You need to fight against a malicious attack . You are learning to defend yourself, not attacking somebody.

आपको एक दुर्भावनापूर्ण हमले के खिलाफ लड़ने की आवश्यकता है। आप अपनी रक्षा करना सीख रहे हैं, किसी पर हमला नहीं कर रहे हैं।


If you don’t know how to hide your IP address how could you locate a criminal who is hiding his real location?

यदि आप नहीं जानते कि अपना आईपी एड्रेस कैसे छिपाया जाए तो आप एक ऐसे अपराधी का पता कैसे लगा सकते हैं जो अपनी असली लोकेशन छिपा रहा है?


You may find many reputed white hat or gray hat hackers in certain forums that are kept completely hidden from the watchful eyes of government agencies.

आप कुछ ऐसे मंचों में कई प्रतिष्ठित व्हाइट हैट या ग्रे हैट हैकर्स पा सकते हैं जिन्हें सरकारी एजेंसियों की पैनी निगाहों से पूरी तरह से छिपाकर रखा गया है।


Like Wikipedia, there are hidden wiki that we are soon going to see, where you can find a lot of interesting things to learn.

विकिपीडिया की तरह, छिपी हुई विकी हैं जिन्हें हम जल्द ही देखने जा रहे हैं, जहाँ आप सीखने के लिए बहुत सी दिलचस्प चीजें पा सकते हैं।


The main problem is: you can’t differentiate the original hidden wiki from the other fake versions.

मुख्य समस्या यह है: आप मूल छिपी हुई विकी को अन्य नकली संस्करणों से अलग नहीं कर सकते।


One thing you better keep in mind: Tor browser is fine as long as you want to learn something new.

एक बात जो आपको ध्यान में रखनी चाहिए: टोर ब्राउज़र ठीक है जब तक आप कुछ नया सीखना चाहते हैं।


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

यह काली लिनक्स वर्चुअल मशीन का मैक एड्रेस या लोकल नेटवर्क कार्ड का पता है।


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.

पहले तीन अंक उन प्रतीकों को दर्शाते हैं जो निर्माता का प्रतिनिधित्व करते हैं।


We can check it out here also by issuing this command: root@kali:# macchanger -s eth0

हम इस कमांड को जारी करके भी इसे यहां देख सकते हैं: root@kali:# macchanger -s eth0


As you see, it shows two MAC address—one is current and the other is permanent.

जैसा कि आप देख सकते हैं, यह दो मैक पते दिखाता है - एक वर्तमान है और दूसरा स्थायी है।


It’s because the command “ifconfig ” will only show the current MAC address.

ऐसा इसलिए है क्योंकि “ifconfig” कमांड केवल वर्तमान मैक एड्रेस दिखाएगा।


It won’t show the permanent MAC address.

यह स्थायी मैक एड्रेस नहीं दिखाएगा।


Now we’d like to change our MAC address.

अब हम अपना मैक एड्रेस बदलना चाहेंगे।


Let us issue this command: root@kali:# macchanger –h

आइए इस कमांड को जारी करें: root@kali:# macchanger –h


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 first two lines— -a, --another Set random vendor MAC of the same kind -A Set random vendor MAC of any kind —mean you can change the MAC address but you can’t change the vendor.

पहली दो लाइनें— -a, --another समान प्रकार के यादृच्छिक विक्रेता MAC सेट करें -A किसी भी प्रकार के यादृच्छिक विक्रेता MAC सेट करें—इसका मतलब है कि आप मैक एड्रेस बदल सकते हैं लेकिन आप विक्रेता को नहीं बदल सकते।


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.

अर्थात, छह सेट पूरी तरह से यादृच्छिक हैं—जिसे हम पसंद करते हैं।


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

हम एक साधारण कमांड के साथ सभी विक्रेताओं की एक सूची प्राप्त कर सकते हैं: l।


Ethical hackers sometime use that trick.

नैतिक हैकर कभी-कभी उस चाल का उपयोग करते हैं।