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 checks frame by frame whether the source requests reach the right destination.

તે ફ્રેમ દ્વારા ફ્રેમ તપાસે છે કે સોર્સ વિનંતીઓ યોગ્ય ગંતવ્ય સુધી પહોંચે છે કે નહીં.


The router is connected to the switches and the switches are connected to the devices.

રાઉટર સ્વીચો સાથે જોડાયેલ છે અને સ્વીચો ઉપકરણો સાથે જોડાયેલા છે.


Routers communicate with other networks like the Internet.

રાઉટર્સ ઇન્ટરનેટ જેવા અન્ય નેટવર્ક સાથે વાતચીત કરે છે.


Internetworking models encourage interoperability between different devices.

ઇન્ટરનેટવર્કિંગ મોડેલો વિવિધ ઉપકરણો વચ્ચેની આંતરસંચાલનક્ષમતાને પ્રોત્સાહન આપે છે.


OSI મોડેલમાં સાત લેયર છે.


ઘણા કારણો છે.


The most important reason is: in a virtual box we can play with any operating system.

સૌથી મહત્વનું કારણ એ છે કે: વર્ચ્યુઅલ બોક્સમાં આપણે કોઈપણ ઓપરેટિંગ સિસ્ટમ સાથે રમી શકીએ છીએ.


It is not your original machine with confidential data.

તે તમારા ગુપ્ત ડેટા સાથેનું તમારું મૂળ મશીન નથી.


તમે તેમાંથી કોઈપણ એક પસંદ કરી શકો છો.


વર્ચ્યુઅલ બોક્સ ઇન્સ્ટોલ કરવું ખૂબ જ સરળ છે.


The book provides a comprehensive guide to ethical hacking.

આ પુસ્તક નૈતિક હેકિંગ માટે એક વ્યાપક માર્ગદર્શિકા પ્રદાન કરે છે.


Install VirtualBox to create a safe environment for experimentation.

પ્રયોગો માટે સુરક્ષિત વાતાવરણ બનાવવા માટે વર્ચ્યુઅલબોક્સ ઇન્સ્ટોલ કરો.


Ethical hacking is not associated with illegal activities.

નૈતિક હેકિંગનો સંબંધ ગેરકાયદેસર પ્રવૃત્તિઓ સાથે નથી.


Learn Python to enhance your skills as an ethical hacker.

નૈતિક હેકર તરીકે તમારી કુશળતા વધારવા માટે પાયથોન શીખો.


The author uses Ubuntu as his default operating system.

લેખક તેના ડિફોલ્ટ ઓપરેટિંગ સિસ્ટમ તરીકે ઉબુન્ટુનો ઉપયોગ કરે છે.


Always seek permission before testing a system.

કોઈપણ સિસ્ટમનું પરીક્ષણ કરતા પહેલાં હંમેશા પરવાનગી લો.


This book is intended for beginners in programming.

આ પુસ્તક પ્રોગ્રામિંગમાં શિખાઉ માણસ માટે બનાવાયેલ છે.


The book covers the legal aspects of ethical hacking.

પુસ્તકમાં નૈતિક હેકિંગના કાયદાકીય પાસાઓ આવરી લેવામાં આવ્યા છે.


Understanding networking is crucial for ethical hacking.

નૈતિક હેકિંગ માટે નેટવર્કિંગને સમજવું ખૂબ જ જરૂરી છે.


The book explains how to defend against attacks.

પુસ્તક હુમલાઓ સામે કેવી રીતે બચાવ કરવો તે સમજાવે છે.


Data travels through many layers in a network.

નેટવર્કમાં ડેટા ઘણા સ્તરોમાંથી પસાર થાય છે.


The OSI model is a fundamental concept in networking.

OSI મોડેલ નેટવર્કિંગમાં એક મૂળભૂત ખ્યાલ છે.


A network connects devices through various media.

એક નેટવર્ક વિવિધ માધ્યમો દ્વારા ઉપકરણોને જોડે છે.


The book discusses the importance of anonymity.

પુસ્તક અનામીતાના મહત્વની ચર્ચા કરે છે.


Learn about the different types of network attacks.

વિવિધ પ્રકારના નેટવર્ક હુમલાઓ વિશે જાણો.


The author provides practical examples throughout the book.

લેખક આખા પુસ્તકમાં વ્યવહારુ ઉદાહરણો પૂરા પાડે છે.


The book is a valuable resource for aspiring ethical hackers.

આ પુસ્તક મહત્વાકાંક્ષી નૈતિક હેકર્સ માટે એક મૂલ્યવાન સંસાધન છે.


The goal is to protect systems from malicious attacks.

ધ્યેય સિસ્ટમોને દૂષિત હુમલાઓથી બચાવવાનો છે.


The book covers topics like penetration testing and exploits.

પુસ્તકમાં ઘૂસણખોરી પરીક્ષણ અને શોષણ જેવા વિષયો આવરી લેવામાં આવ્યા છે.


Always stay within the legal boundaries of ethical hacking.

હંમેશા નૈતિક હેકિંગની કાયદાકીય સીમાઓમાં રહો.


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

પ્રોગ્રામ ચાલે છે, અને બહારનું print() ફંક્શન પહેલાં એક્ઝિક્યુટ થાય છે.


White space and indentation play a major role in Python.

પાયથોનમાં વ્હાઇટ સ્પેસ અને ઇન્ડેન્ટેશન એક મહત્વપૂર્ણ ભૂમિકા ભજવે છે.


Every block of code has its own white space or indentation.

કોડના દરેક બ્લોકમાં તેની પોતાની વ્હાઇટ સ્પેસ અથવા ઇન્ડેન્ટેશન હોય છે.


Commenting is very important in any kind of programming.

કોઈપણ પ્રકારના પ્રોગ્રામિંગમાં ટિપ્પણી કરવી ખૂબ જ મહત્વપૂર્ણ છે.


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

પાયથોનમાં અસાઇનમેન્ટ ઓપરેટર એ બરાબર (=) ની નિશાની છે.


પાયથોનમાં, બધું જ એક ઑબ્જેક્ટ છે.


Every object has an ID, type, and value.

દરેક ઑબ્જેક્ટમાં ID, પ્રકાર અને મૂલ્ય હોય છે.


Numbers, strings, and tuples are immutable.

સંખ્યાઓ, સ્ટ્રિંગ્સ અને ટ્યુપલ્સ અપરિવર્તનશીલ છે.


સૂચિઓ અને શબ્દકોશો પરિવર્તનશીલ છે.


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

પાયથોનમાં બે પ્રકારની સંખ્યાઓ છે: પૂર્ણાંક અને ફ્લોટ.


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

સ્ટ્રિંગ એક અપરિવર્તનશીલ ઑબ્જેક્ટ છે અને તેને ડબલ અવતરણ અથવા સિંગલ અવતરણમાં લખી શકાય છે.


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

આપણે સ્ટ્રિંગની મધ્યમાં એક પૂર્ણાંક દાખલ કરી શકીએ છીએ.


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

તમારા કોડિંગ જીવનમાં તમારે પુષ્કળ સ્ટ્રિંગનો ઉપયોગ કરવાની જરૂર છે.


Python is an object-oriented programming language.

પાયથોન એક ઑબ્જેક્ટ-ઓરિએન્ટેડ પ્રોગ્રામિંગ ભાષા છે.


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

દરેક ઑબ્જેક્ટમાં એક અનોખી ઓળખ હોય છે, જેને ID તરીકે ઓળખવામાં આવે છે.


We can check whether two objects assigned to two different variables is the same or not.

આપણે ચકાસી શકીએ છીએ કે બે અલગ-અલગ ચલોને સોંપાયેલા બે ઑબ્જેક્ટ સમાન છે કે નહીં.


Tuples are immutable; you cannot insert or update them.

ટ્યુપલ્સ અપરિવર્તનશીલ છે; તમે તેને દાખલ અથવા અપડેટ કરી શકતા નથી.


List is another sequential type that is mutable.

સૂચિ એ બીજો ક્રમિક પ્રકાર છે જે પરિવર્તનશીલ છે.


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

પાયથોનમાં મૂલ્યોનો બીજો ખૂબ જ મજબૂત એકત્રીકરણ પ્રકાર છે: શબ્દકોશ.


When we create an object or instance of this class, this object or instance can carry forward every single trait of this class.

જ્યારે આપણે આ વર્ગનો ઑબ્જેક્ટ અથવા ઉદાહરણ બનાવીએ છીએ, ત્યારે આ ઑબ્જેક્ટ અથવા ઉદાહરણ આ વર્ગની દરેક લાક્ષણિકતાને આગળ ધપાવી શકે છે.


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” જેવો આદેશ લખીએ, તો તે આ લિનક્સ સિસ્ટમના સ્ત્રોતોની લાંબી સૂચિ પ્રદર્શિત કરશે.


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” માં કેટલી વાર ઉપયોગ થયો છે તે જોવામાં રસ છે.


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” છે.


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

આપણે આ પ્રોજેક્ટના નામ પરથી એક ડિરેક્ટરી બનાવીએ: “એથિકલ હેકિંગ.”


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

આ કિસ્સામાં, જો તમે તે રીતે લખો છો, તો લિનક્સ ટર્મિનલ બીજું કંઈક સમજે છે.


It comprehends that you want to create two separate directories.

તે સમજે છે કે તમે બે અલગ ડિરેક્ટરીઓ બનાવવા માંગો છો.


To remove a directory, you must have “root” privilege.

ડિરેક્ટરી દૂર કરવા માટે, તમારી પાસે “root” વિશેષાધિકાર હોવો આવશ્યક છે.


In Ubuntu, if we want to be a “root” or “super user,” we issue the command “sudo” first.

ઉબુન્ટુમાં, જો આપણે “root” અથવા “સુપર યુઝર” બનવા માંગીએ છીએ, તો આપણે પહેલા “sudo” આદેશ જારી કરીએ છીએ.


The command “-rf” means “do it recursively with force.”

આદેશ “-rf” નો અર્થ છે “બળપૂર્વક પુનરાવર્તિત કરો.”


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 it is true it keeps on running. While it is not true it stops.

જ્યાં સુધી તે સાચું છે ત્યાં સુધી તે ચાલતું રહે છે. જ્યાં સુધી તે સાચું નથી ત્યાં સુધી તે અટકી જાય છે.


You need a mechanism to stop that process. That is important. Otherwise that statement will eat up your memory.

તમારે તે પ્રક્રિયાને રોકવા માટે એક પદ્ધતિની જરૂર છે. તે મહત્વનું છે. અન્યથા તે વિધાન તમારી મેમરી ખાઈ જશે.


In the output you will get 1 to 49. Let us move further.

આઉટપુટમાં તમને 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 have a song written over in a file called “file.txt” and we just iterate through this file.

અમારી પાસે “file.txt” નામની ફાઇલમાં લખેલું એક ગીત છે અને અમે ફક્ત આ ફાઇલમાંથી પુનરાવર્તન કરીએ છીએ.


Now what does this function “enumerate() ” mean? Dictionary says: enumeration is a kind of numbering which is a numbered list.

હવે આ ફંક્શન “enumerate() ” નો અર્થ શું છે? શબ્દકોશ કહે છે: ગણતરી એ એક પ્રકારની નંબરિંગ છે જે ક્રમાંકિત યાદી છે.


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

આ અત્યંત ઉપયોગી છે. તમે કોઈપણ સ્ટ્રિંગની અંદર કોઈપણ અક્ષર શોધી શકો છો.


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

પાયથોનમાં, કોડના પુનઃઉપયોગ માટે ફંક્શન અથવા સબરૂટીન અત્યંત મહત્વપૂર્ણ છે.


What does this code mean? In loops() function , we have passed one parameter a and assigned a value 4.

આ કોડનો અર્થ શું છે? loops() ફંક્શનમાં, અમે એક પરિમાણ a પાસ કર્યું છે અને 4 ની કિંમત સોંપી છે.


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.

રેગ્યુલર એક્સપ્રેશન પેટર્નને મેચ કરવાની ખૂબ જ શક્તિશાળી પદ્ધતિ છે.


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

તે કોઈપણ પ્રકારનો ડેટા પાછો આપી શકે છે: સ્ટ્રિંગ, ઇન્ટીજર, ઑબ્જેક્ટ - કંઈપણ.


Let us return an object. Consider this code:

ચાલો એક ઑબ્જેક્ટ પાછો આપીએ. આ કોડને ધ્યાનમાં લો:


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.

તમે કોઈપણ બિંદુથી શરૂઆત કરી શકો છો અથવા કોઈપણ બિંદુએ અટકી શકો છો અને કોઈપણ પગલા દ્વારા આગળ વધી શકો છો.


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

જેમ તમે જોયું છે, અમે કોઈપણ દલીલના મૂલ્યને ડિફોલ્ટ તરીકે સેટ કરી શકીએ છીએ.


પાયથોન આને સપોર્ટ કરતું નથી.


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

શું આપણે આ સમસ્યાને હલ કરી શકીએ જેથી કરીને આપણે કોઈપણ સંખ્યામાં દલીલો પાસ કરી શકીએ અને કોઈપણ ભૂલ સંદેશ વિના તેને નિયંત્રિત કરી શકીએ?


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.

તમે તેમની મારફતે કોઈપણ સંખ્યામાં દલીલો પાસ કરી શકો છો.


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

કોડમાં def PassingListsOfArguments(arg1, arg2, arg3, arg4, *args): નો અર્થ છે કે તમારે પહેલા ચાર દલીલો પાસ કરવાની જરૂર છે.


Sometimes it is important to use named arguments in Python.

કેટલીકવાર પાયથોનમાં નામવાળી દલીલોનો ઉપયોગ કરવો મહત્વપૂર્ણ છે.


And we get those named arguments in a dictionary format.

અને અમને તે નામવાળી દલીલો શબ્દકોશ ફોર્મેટમાં મળે છે.


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

જેમ કે તે શબ્દકોશ આઉટપુટ છે, તે ઓર્ડર નથી.


ધારો કે આપણી પાસે બે અલગ-અલગ સેટઅપ છે.


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.

નીચેનો કોડ લખો અને જાતે જ આઉટપુટ જુઓ.


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.

ડિક્શનરીનો બીજો મુખ્ય ખ્યાલ "કી=>મૂલ્ય" જોડી છે.


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 ના બધા કાર્યો અને ગુણધર્મો ત્યાં સંગ્રહિત છે, તેથી તમે તેને સરળતાથી આયાત કરી શકો છો અને તમારા પ્રોજેક્ટ માટે તેનો ઉપયોગ કરી શકો છો.


If you run this code, you will see a list of names I just added.

જો તમે આ કોડ ચલાવશો, તો તમે હમણાં જ ઉમેરેલા નામોની સૂચિ જોશો.


As you see, we have connected with a database, “test”.

તમે જોઈ શકો છો, અમે “test” ડેટાબેઝ સાથે કનેક્ટ થયા છીએ.


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 ઇન્સ્ટોલ કરવું ખૂબ જ સરળ છે.


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

તે અમને “conn ઑબ્જેક્ટમાંથી કનેક્ટેડ” પ્રિન્ટઆઉટ આપશે.


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.

મૂળભૂત રીતે, તમે ફાયરવોલ સેટિંગ અથવા તે પ્રકારની વસ્તુને બાયપાસ કરવા માટે તે કરવા માંગો છો.


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

લોકો મુસાફરી કરતી વખતે અથવા તે પ્રકારની વસ્તુ કરતી વખતે તેમનું સ્થાન છુપાવવા માંગે છે.


Apparently this type of activity stays within the law.

દેખીતી રીતે આ પ્રકારની પ્રવૃત્તિ કાયદાની અંદર રહે છે.


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.

બીજી એક સમસ્યા છે જે ચોક્કસ પ્રકારના સર્વરને ઍક્સેસ કરતી વખતે આવી શકે છે જે સામાન્ય રીતે ચોક્કસ પ્રદેશના IP એડ્રેસને મંજૂરી આપે છે.


The Python script uses modules like 'sys' and 'urllib.request' to get system information and fetch web pages.

પાયથોન સ્ક્રિપ્ટ સિસ્ટમની માહિતી મેળવવા અને વેબ પૃષ્ઠો મેળવવા માટે 'sys' અને 'urllib.request' જેવા મોડ્યુલોનો ઉપયોગ કરે છે.


The output of the script varies depending on the operating system, showing differences between 'posix' and 'nt' environments.

સ્ક્રિપ્ટનું આઉટપુટ ઓપરેટિંગ સિસ્ટમ પર આધારિત છે, જે 'posix' અને 'nt' વાતાવરણ વચ્ચેના તફાવતો દર્શાવે છે.


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

'random' અને 'datetime' મોડ્યુલો કોડમાં રેન્ડમ નંબરો જનરેટ કરવા અને વર્તમાન તારીખ અને સમય દર્શાવવા માટે ઉમેરવામાં આવે છે.


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

દરેક વખતે જ્યારે કોડ ચલાવવામાં આવે છે, ત્યારે 'random' મોડ્યુલ નવા રેન્ડમ નંબરો ઉત્પન્ન કરે છે.


The documentation for Python's Standard Library provides detailed information about modules like 'datetime'.

પાયથોનની સ્ટાન્ડર્ડ લાઇબ્રેરી માટેનું દસ્તાવેજીકરણ 'datetime' જેવા મોડ્યુલો વિશે વિગતવાર માહિતી પ્રદાન કરે છે.


The 'unittest' module helps in debugging and testing code, especially when updating or modifying it.

'unittest' મોડ્યુલ કોડને ડીબગિંગ અને પરીક્ષણ કરવામાં મદદ કરે છે, ખાસ કરીને જ્યારે તેને અપડેટ અથવા સંશોધિત કરવામાં આવે છે.


The 'unittest' module can identify syntactical and runtime errors in the code.

'unittest' મોડ્યુલ કોડમાં સિન્ટેક્ટિકલ અને રનટાઇમ ભૂલોને ઓળખી શકે છે.


The example shows how to use 'unittest' to test methods like 'PyVer' and 'PyTime'.

ઉદાહરણ બતાવે છે કે 'PyVer' અને 'PyTime' જેવા મેથડ્સનું પરીક્ષણ કરવા માટે 'unittest' નો ઉપયોગ કેવી રીતે કરવો.


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

'unittest' માં 'assertEqual()' પદ્ધતિનો ઉપયોગ વિવિધ પદ્ધતિઓના આઉટપુટની તુલના કરવા માટે થાય છે.


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

'unittest' મોડ્યુલનું આઉટપુટ દર્શાવે છે કે પરીક્ષણો પાસ થયા છે કે નહીં.


The chapter introduces advanced Python concepts related to socket and networking.

આ પ્રકરણ સોકેટ અને નેટવર્કિંગ સંબંધિત અદ્યતન પાયથોન ખ્યાલોનો પરિચય આપે છે.


The example code uses the 'socket' module to get the IP address of a website.

ઉદાહરણ કોડ વેબસાઇટનું IP સરનામું મેળવવા માટે 'socket' મોડ્યુલનો ઉપયોગ કરે છે.


The chapter emphasizes the importance of understanding basic Python concepts for ethical hacking.

આ પ્રકરણ નૈતિક હેકિંગ માટે પાયથોન ખ્યાલોને સમજવાના મહત્વ પર ભાર મૂકે છે.


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

Nmap એ એક સુરક્ષા સ્કેનર છે જે નેટવર્ક પર હોસ્ટ અને સેવાઓ શોધવા માટે વપરાય છે.


Nmap sends specially crafted packets to the target host to analyze responses and find open ports.

Nmap પ્રતિભાવોનું વિશ્લેષણ કરવા અને ખુલ્લા પોર્ટ્સ શોધવા માટે લક્ષ્ય હોસ્ટને ખાસ બનાવેલા પેકેટો મોકલે છે.


Python extends Nmap's features for advanced service and vulnerability detection.

પાયથોન અદ્યતન સેવા અને નબળાઈ શોધ માટે Nmap ની સુવિધાઓને વધારે છે.


The script uses the Nmap module to scan a target IP address and determine open ports.

સ્ક્રિપ્ટ લક્ષ્ય IP સરનામાંને સ્કેન કરવા અને ખુલ્લા પોર્ટ્સ નક્કી કરવા માટે Nmap મોડ્યુલનો ઉપયોગ કરે છે.


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

Nmap સ્કેનનું આઉટપુટ ખુલ્લા પોર્ટ્સ અને તેમની સંલગ્ન સેવાઓ દર્શાવે છે.


Port scanning is a process that tries to connect to a number of sequential ports to identify open ones.

પોર્ટ સ્કેનિંગ એ એક પ્રક્રિયા છે જે ખુલ્લા પોર્ટ્સને ઓળખવા માટે સંખ્યાબંધ ક્રમિક પોર્ટ્સ સાથે કનેક્ટ થવાનો પ્રયાસ કરે છે.


Ethical hackers must stay anonymous and hide their IP address.

નૈતિક હેકર્સ અનામી રહેવું જોઈએ અને તેમનું IP સરનામું છુપાવવું જોઈએ.


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.

પ્રથમ ત્રણ આંકડા એ ઉત્પાદકનું પ્રતિનિધિત્વ કરતા પ્રતીકો છે.


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

આદેશ જારી કરીને આપણે અહીં પણ ચકાસી શકીએ છીએ: root@kali:# macchanger -s eth0


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

કારણ કે “ifconfig ” આદેશ ફક્ત વર્તમાન MAC સરનામું જ બતાવશે.


It won’t show the permanent MAC address.

તે કાયમી MAC સરનામું બતાવશે નહીં.


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 સરનામું બદલવા માંગીએ છીએ.


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: macchanger [options] device

અને તે આના જેવું આઉટપુટ ઉત્પન્ન કરશે: GNU MAC Changer વપરાશ: macchanger [વિકલ્પો] ઉપકરણ


The three red-colored lines are important.

ત્રણ લાલ રંગની લીટીઓ મહત્વપૂર્ણ છે.


It is explicitly defined what they mean.

તેનો અર્થ શું છે તે સ્પષ્ટ રીતે વ્યાખ્યાયિત થયેલ છે.


The green colored line is also important.

લીલા રંગની લીટી પણ મહત્વપૂર્ણ છે.


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 સેટ કરો —એનો અર્થ એ છે કે તમે 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.

પ્રથમ ત્રણ સેટ નેટ કાર્ડ ઉત્પાદક સાથે સંબંધિત છે અને, તે બદલાયું ન હોવાથી, તમને ઓળખી શકાય છે.


The third red-colored line is quite obvious and self-explanatory in its meaning.

ત્રીજી લાલ રંગની લીટી તેના અર્થમાં એકદમ સ્પષ્ટ અને સ્વયંસ્પષ્ટ છે.


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, -- રેન્ડમ સંપૂર્ણ રેન્ડમ MAC સેટ કરો—જ્યાં તે સ્પષ્ટપણે કહેવામાં આવ્યું છે કે તમે સંપૂર્ણ રેન્ડમ MAC સેટ કરી શકો છો.