The user requests data and ultimately retrieves it.

ਯੂਜ਼ਰ ਡਾਟਾ ਦੀ ਬੇਨਤੀ ਕਰਦਾ ਹੈ ਅਤੇ ਆਖਰਕਾਰ ਇਸਨੂੰ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ।


The application layer handles the user’s interaction.

ਐਪਲੀਕੇਸ਼ਨ ਪਰਤ ਉਪਭੋਗਤਾ ਦੀ ਗੱਲਬਾਤ ਨੂੰ ਸੰਭਾਲਦੀ ਹੈ।


Data is formatted and encrypted in the presentation layer.

ਪ੍ਰਸਤੁਤੀ ਪਰਤ ਵਿੱਚ ਡਾਟਾ ਫਾਰਮੈਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਏਨਕ੍ਰਿਪਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।


This layer manages end-to-end communication.

ਇਹ ਪਰਤ ਅੰਤ ਤੋਂ ਅੰਤ ਤੱਕ ਸੰਚਾਰ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦੀ ਹੈ।


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

ਮੰਨ ਲਓ ਕਿ ਤੁਸੀਂ ਇੱਕ ਪਾਸਵਰਡ ਟਾਈਪ ਕਰਦੇ ਹੋ ਅਤੇ ਆਪਣੇ ਸੋਸ਼ਲ ਮੀਡੀਆ ਖਾਤੇ ਵਿੱਚ ਲੌਗ ਇਨ ਕਰਦੇ ਹੋ।


This layer maintains the end-to-end communication.

ਇਹ ਪਰਤ ਅੰਤ ਤੋਂ ਅੰਤ ਤੱਕ ਸੰਚਾਰ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦੀ ਹੈ।


The transport layer breaks your request into several fractions.

ਟ੍ਰਾਂਸਪੋਰਟ ਪਰਤ ਤੁਹਾਡੀ ਬੇਨਤੀ ਨੂੰ ਕਈ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡਦੀ ਹੈ।


It adds source and destination port numbers.

ਇਹ ਸਰੋਤ ਅਤੇ ਮੰਜ਼ਿਲ ਪੋਰਟ ਨੰਬਰ ਜੋੜਦਾ ਹੈ।


It provides flow control, sequencing, and reliability.

ਇਹ ਪ੍ਰਵਾਹ ਨਿਯੰਤਰਣ, ਕ੍ਰਮਬੱਧਤਾ, ਅਤੇ ਭਰੋਸੇਯੋਗਤਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।


The network layer adds source and destination IP addresses.

ਨੈੱਟਵਰਕ ਪਰਤ ਸਰੋਤ ਅਤੇ ਮੰਜ਼ਿਲ IP ਐਡਰੈੱਸ ਜੋੜਦੀ ਹੈ।


It makes sure that your request finds the best path.

ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੀ ਬੇਨਤੀ ਸਭ ਤੋਂ ਵਧੀਆ ਮਾਰਗ ਲੱਭਦੀ ਹੈ।


This layer adds source and destination MAC addresses.

ਇਹ ਪਰਤ ਸਰੋਤ ਅਤੇ ਮੰਜ਼ਿਲ MAC ਐਡਰੈੱਸ ਜੋੜਦੀ ਹੈ।


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

ਇਹ ਫਰੇਮ ਦੁਆਰਾ ਫਰੇਮ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਸਰੋਤ ਬੇਨਤੀਆਂ ਸਹੀ ਮੰਜ਼ਿਲ 'ਤੇ ਪਹੁੰਚਦੀਆਂ ਹਨ।


The router is connected to the switches.

ਰਾਊਟਰ ਸਵਿੱਚਾਂ ਨਾਲ ਜੁੜਿਆ ਹੋਇਆ ਹੈ।


Routers perform packet switching, packet filtering, path selecting, and communicating.

ਰਾਊਟਰ ਪੈਕੇਟ ਸਵਿਚਿੰਗ, ਪੈਕੇਟ ਫਿਲਟਰਿੰਗ, ਮਾਰਗ ਚੋਣ, ਅਤੇ ਸੰਚਾਰ ਕਰਦੇ ਹਨ।


Internetworking models encourage interoperability.

ਇੰਟਰਨੈਟਵਰਕਿੰਗ ਮਾਡਲ ਆਪਸੀ ਕਾਰਜਸ਼ੀਲਤਾ ਨੂੰ ਉਤਸ਼ਾਹਿਤ ਕਰਦੇ ਹਨ।


OSI ਮਾਡਲ ਦੀਆਂ ਸੱਤ ਪਰਤਾਂ ਹਨ।


An ethical hacker tries to understand this process.

ਇੱਕ ਨੈਤਿਕ ਹੈਕਰ ਇਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਮਝਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ।


We can play with any operating system without any fear.

ਅਸੀਂ ਬਿਨਾਂ ਕਿਸੇ ਡਰ ਦੇ ਕਿਸੇ ਵੀ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਨਾਲ ਖੇਡ ਸਕਦੇ ਹਾਂ।


ਤੁਸੀਂ ਉਹਨਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਨੂੰ ਚੁਣ ਸਕਦੇ ਹੋ।


The code uses indentation to define blocks of code.

ਕੋਡ ਕੋਡ ਦੇ ਬਲਾਕਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ ਇੰਡੈਂਟੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।


Python is an object-oriented programming language.

ਪਾਈਥਨ ਇੱਕ ਆਬਜੈਕਟ-ਓਰੀਐਂਟਡ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਹੈ।


Comments are very important in any kind of programming.

ਕਿਸੇ ਵੀ ਤਰ੍ਹਾਂ ਦੀ ਪ੍ਰੋਗਰਾਮਿੰਗ ਵਿੱਚ ਟਿੱਪਣੀਆਂ ਬਹੁਤ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦੀਆਂ ਹਨ।


White space or indentation plays a major role in Python.

ਪਾਈਥਨ ਵਿੱਚ ਵਾਈਟ ਸਪੇਸ ਜਾਂ ਇੰਡੈਂਟੇਸ਼ਨ ਇੱਕ ਵੱਡੀ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦੀ ਹੈ।


Every object has an ID, type, and value.

ਹਰ ਆਬਜੈਕਟ ਦਾ ਇੱਕ ID, ਟਾਈਪ ਅਤੇ ਮੁੱਲ ਹੁੰਦਾ ਹੈ।


Strings are immutable objects in Python.

ਪਾਈਥਨ ਵਿੱਚ ਸਤਰ ਅਟੱਲ ਆਬਜੈਕਟ ਹਨ।


We will discuss it in detail in the next chapter.

ਅਸੀਂ ਅਗਲੇ ਅਧਿਆਇ ਵਿੱਚ ਇਸ ਬਾਰੇ ਵਿਸਥਾਰ ਵਿੱਚ ਚਰਚਾ ਕਰਾਂਗੇ।


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

ਪਾਈਥਨ ਵਿੱਚ ਅਸਾਈਨਮੈਂਟ ਆਪਰੇਟਰ ਬਰਾਬਰ (=) ਦਾ ਚਿੰਨ੍ਹ ਹੈ।


ਇੱਕ ਸਤਰ ਅੱਖਰਾਂ ਦਾ ਇੱਕ ਕ੍ਰਮ ਹੈ।


Numbers, strings, and tuples are immutable in Python.

ਪਾਈਥਨ ਵਿੱਚ ਨੰਬਰ, ਸਤਰ ਅਤੇ ਟਿਊਪਲ ਅਟੱਲ ਹਨ।


ਸੂਚੀਆਂ ਅਤੇ ਡਿਕਸ਼ਨਰੀਆਂ ਬਦਲਣਯੋਗ ਹਨ।


ਆਉਟਪੁੱਟ ਸਵੈ-ਵਿਆਖਿਆਤਮਕ ਹੈ।


ਪਾਈਥਨ ਵਿੱਚ, ਹਰ ਚੀਜ਼ ਇੱਕ ਆਬਜੈਕਟ ਹੈ।


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

ਅਸੀਂ ਇੱਕ ਸਤਰ ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਪੂਰਨ ਅੰਕ ਪਾ ਸਕਦੇ ਹਾਂ।


The ID identifies a particular instance of an object.

ID ਇੱਕ ਆਬਜੈਕਟ ਦੀ ਇੱਕ ਖਾਸ ਉਦਾਹਰਣ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ।


Every variable in Python is a first-class object.

ਪਾਈਥਨ ਵਿੱਚ ਹਰ ਵੇਰੀਏਬਲ ਇੱਕ ਪਹਿਲੇ ਦਰਜੇ ਦਾ ਆਬਜੈਕਟ ਹੈ।


The difference is in the latest version of Python.

ਅੰਤਰ ਪਾਈਥਨ ਦੇ ਨਵੀਨਤਮ ਸੰਸਕਰਣ ਵਿੱਚ ਹੈ।


A dictionary is more like an associative array or hash.

ਇੱਕ ਡਿਕਸ਼ਨਰੀ ਇੱਕ ਐਸੋਸੀਏਟਿਵ ਐਰੇ ਜਾਂ ਹੈਸ਼ ਵਰਗੀ ਹੈ।


We can sort this dictionary in alphabetical order.

ਅਸੀਂ ਇਸ ਡਿਕਸ਼ਨਰੀ ਨੂੰ ਵਰਣਮਾਲਾ ਦੇ ਕ੍ਰਮ ਵਿੱਚ ਕ੍ਰਮਬੱਧ ਕਰ ਸਕਦੇ ਹਾਂ।


ਪਾਈਥਨ ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ ਕ੍ਰਮਵਾਰ ਪ੍ਰਕਾਰ ਹਨ।


The author discusses the importance of ethical hacking.

ਲੇਖਕ ਨੈਤਿਕ ਹੈਕਿੰਗ ਦੀ ਮਹੱਤਤਾ ਬਾਰੇ ਚਰਚਾ ਕਰਦਾ ਹੈ।


Ethical hacking is not associated with illegal activities.

ਨੈਤਿਕ ਹੈਕਿੰਗ ਗੈਰ-ਕਾਨੂੰਨੀ ਗਤੀਵਿਧੀਆਂ ਨਾਲ ਜੁੜੀ ਨਹੀਂ ਹੈ।


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

ਇਹ ਕਿਤਾਬ ਉਹਨਾਂ ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਾਲਿਆਂ ਲਈ ਹੈ ਜੋ ਨੈਤਿਕ ਹੈਕਿੰਗ ਸਿੱਖਣਾ ਚਾਹੁੰਦੇ ਹਨ।


The author uses Ubuntu Linux as his default operating system.

ਲੇਖਕ ਆਪਣੇ ਡਿਫਾਲਟ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਵਜੋਂ Ubuntu Linux ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।


Virtual Box is used to run multiple operating systems.

ਵਰਚੁਅਲ ਬਾਕਸ ਦੀ ਵਰਤੋਂ ਕਈ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਚਲਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।


Ethical hackers need to defend themselves.

ਨੈਤਿਕ ਹੈਕਰਾਂ ਨੂੰ ਆਪਣਾ ਬਚਾਅ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।


Understanding your enemy's strategy helps in defense.

ਆਪਣੇ ਦੁਸ਼ਮਣ ਦੀ ਰਣਨੀਤੀ ਨੂੰ ਸਮਝਣਾ ਬਚਾਅ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।


Ethical hackers and malicious crackers use the same tools.

ਨੈਤਿਕ ਹੈਕਰ ਅਤੇ ਖਤਰਨਾਕ ਕਰੈਕਰ ਇੱਕੋ ਜਿਹੇ ਟੂਲ ਵਰਤਦੇ ਹਨ।


The difference lies in their purpose or intention.

ਫਰਕ ਉਹਨਾਂ ਦੇ ਉਦੇਸ਼ ਜਾਂ ਇਰਾਦੇ ਵਿੱਚ ਹੈ।


A car company tests its locking system before launching a new model.

ਇੱਕ ਕਾਰ ਕੰਪਨੀ ਨਵਾਂ ਮਾਡਲ ਲਾਂਚ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੇ ਲਾਕਿੰਗ ਸਿਸਟਮ ਦੀ ਜਾਂਚ ਕਰਦੀ ਹੈ।


Ethical hacking is like inviting experts to test a system's weakness.

ਨੈਤਿਕ ਹੈਕਿੰਗ ਮਾਹਰਾਂ ਨੂੰ ਸਿਸਟਮ ਦੀ ਕਮਜ਼ੋਰੀ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਸੱਦਾ ਦੇਣ ਵਰਗੀ ਹੈ।


The main intention of ethical hacking centers on system security.

ਨੈਤਿਕ ਹੈਕਿੰਗ ਦਾ ਮੁੱਖ ਇਰਾਦਾ ਸਿਸਟਮ ਸੁਰੱਖਿਆ 'ਤੇ ਕੇਂਦਰਿਤ ਹੈ।


Security consists of key components like availability and integrity.

ਸੁਰੱਖਿਆ ਵਿੱਚ ਮੁੱਖ ਭਾਗ ਹੁੰਦੇ ਹਨ ਜਿਵੇਂ ਕਿ ਉਪਲਬਧਤਾ ਅਤੇ ਅਖੰਡਤਾ।


Hackers may use DoS attacks to block data availability.

ਹੈਕਰ ਡਾਟਾ ਉਪਲਬਧਤਾ ਨੂੰ ਰੋਕਣ ਲਈ DoS ਹਮਲਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਨ।


Integrity of data should not be compromised at any cost.

ਡਾਟਾ ਦੀ ਅਖੰਡਤਾ ਨੂੰ ਕਿਸੇ ਵੀ ਕੀਮਤ 'ਤੇ ਸਮਝੌਤਾ ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾ।


A hacker might change the amount in a financial transaction.

ਇੱਕ ਹੈਕਰ ਵਿੱਤੀ ਲੈਣ-ਦੇਣ ਵਿੱਚ ਰਕਮ ਬਦਲ ਸਕਦਾ ਹੈ।


Authentication attacks involve MAC address spoofing.

ਪ੍ਰਮਾਣਿਕਤਾ ਹਮਲਿਆਂ ਵਿੱਚ MAC ਐਡਰੈੱਸ ਸਪੂਫਿੰਗ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ।


Confidentiality attacks involve information theft.

ਗੁਪਤਤਾ ਹਮਲਿਆਂ ਵਿੱਚ ਜਾਣਕਾਰੀ ਦੀ ਚੋਰੀ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ।


The book acknowledges Kartick Paul for his help.

ਕਿਤਾਬ ਕਾਰਤਿਕ ਪਾਲ ਦਾ ਉਸਦੀ ਮਦਦ ਲਈ ਧੰਨਵਾਦ ਕਰਦੀ ਹੈ।


This book is a guide to ethical hacking.

ਇਹ ਕਿਤਾਬ ਨੈਤਿਕ ਹੈਕਿੰਗ ਲਈ ਇੱਕ ਗਾਈਡ ਹੈ।


If we run this program now, the output will be: This is main function. less than 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.

ਤੁਹਾਨੂੰ ਉਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਰੋਕਣ ਲਈ ਇੱਕ ਵਿਧੀ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈ।


ਆਉਟਪੁੱਟ ਵਿੱਚ ਤੁਹਾਨੂੰ 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.

ਆਓ ਇਸਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸਮਝਣ ਲਈ ਇੱਕ-ਇੱਕ ਕਰਕੇ ਕਦਮਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰੀਏ।


ਲੂਪ 1 ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ।


Now the value of “a” is 2 so the value of “b” is 4.

ਹੁਣ “a” ਦਾ ਮੁੱਲ 2 ਹੈ, ਇਸ ਲਈ “b” ਦਾ ਮੁੱਲ 4 ਹੈ।


The output of the above code will be: 1 2 4 8 16

ਉਪਰੋਕਤ ਕੋਡ ਦਾ ਆਉਟਪੁੱਟ ਇਹ ਹੋਵੇਗਾ: 1 2 4 8 16


Now hopefully, this explains how the while loops work.

ਹੁਣ, ਉਮੀਦ ਹੈ ਕਿ, ਇਹ ਦੱਸਦਾ ਹੈ ਕਿ while ਲੂਪ ਕਿਵੇਂ ਕੰਮ ਕਰਦੇ ਹਨ।


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.

ਅਸੀਂ ਉਹਨਾਂ ਨੂੰ ਲਾਈਨ ਦੁਆਰਾ ਲਾਈਨ ਦੁਹਰਾ ਸਕਦੇ ਸੀ ਕਿਉਂਕਿ ਉਹ ਇੰਡੈਕਸ ਕੀਤੇ ਗਏ ਹਨ।


Now what does this function “enumerate() ” mean?

ਹੁਣ ਇਸ ਫੰਕਸ਼ਨ “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.

ਪਾਈਥਨ ਵਿੱਚ, ਕੋਡਾਂ ਦੀ ਮੁੜ ਵਰਤੋਂ ਲਈ ਫੰਕਸ਼ਨ ਜਾਂ ਸਬ-ਰੂਟੀਨ ਬਹੁਤ ਮਹੱਤਵਪੂਰਨ ਹਨ।


We can call a function for several times and pass many arguments or parameters to get different effects.

ਅਸੀਂ ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਕਈ ਵਾਰ ਕਾਲ ਕਰ ਸਕਦੇ ਹਾਂ ਅਤੇ ਵੱਖ-ਵੱਖ ਪ੍ਰਭਾਵ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਬਹੁਤ ਸਾਰੇ ਆਰਗੂਮੈਂਟ ਜਾਂ ਪੈਰਾਮੀਟਰ ਪਾਸ ਕਰ ਸਕਦੇ ਹਾਂ।


It is the default value. So that in the future if we forget to pass any argument the code will not break.

ਇਹ ਡਿਫਾਲਟ ਮੁੱਲ ਹੈ। ਤਾਂ ਜੋ ਭਵਿੱਖ ਵਿੱਚ ਜੇਕਰ ਅਸੀਂ ਕੋਈ ਆਰਗੂਮੈਂਟ ਪਾਸ ਕਰਨਾ ਭੁੱਲ ਜਾਂਦੇ ਹਾਂ ਤਾਂ ਕੋਡ ਟੁੱਟੇਗਾ ਨਹੀਂ।


Now it is obvious that you can play around with this code.

ਹੁਣ ਇਹ ਸਪੱਸ਼ਟ ਹੈ ਕਿ ਤੁਸੀਂ ਇਸ ਕੋਡ ਨਾਲ ਖੇਡ ਸਕਦੇ ਹੋ।


Let us first see what we have in our root directory.

ਆਓ ਪਹਿਲਾਂ ਦੇਖੀਏ ਕਿ ਸਾਡੇ ਰੂਟ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਕੀ ਹੈ।


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” ਵਿੱਚ ਉਸ ਸ਼ਬਦ ਦੀ ਵਰਤੋਂ ਕਿੰਨੀ ਵਾਰ ਕੀਤੀ ਗਈ ਹੈ।


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

ਆਓ ਇਸ ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਮ 'ਤੇ ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਬਣਾਈਏ: “ਨੈਤਿਕ ਹੈਕਿੰਗ।”


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.

Ubuntu ਵਿੱਚ, ਜੇਕਰ ਅਸੀਂ “root” ਜਾਂ “super user” ਬਣਨਾ ਚਾਹੁੰਦੇ ਹਾਂ, ਤਾਂ ਅਸੀਂ ਪਹਿਲਾਂ “sudo” ਕਮਾਂਡ ਜਾਰੀ ਕਰਦੇ ਹਾਂ।


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

ਕਮਾਂਡ “-rf” ਦਾ ਮਤਲਬ ਹੈ “ਇਸਨੂੰ ਜ਼ਬਰਦਸਤੀ ਨਾਲ ਦੁਹਰਾਓ।”


In Ethical Hacking, anonymity is a very big deal.

ਨੈਤਿਕ ਹੈਕਿੰਗ ਵਿੱਚ, ਗੁਮਨਾਮੀ ਇੱਕ ਬਹੁਤ ਵੱਡਾ ਸੌਦਾ ਹੈ।


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() ਦੀ ਇੱਕ ਸੀਮਾ ਹੈ।


ਮੈਂ ਇਸ ਨੰਬਰ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਕੀ ਕਰ ਸਕਦਾ ਹਾਂ?


ਇੱਥੇ ਅਸੀਂ “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.

ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਦੇਖਿਆ ਹੈ, ਅਸੀਂ ਕਿਸੇ ਵੀ ਆਰਗੂਮੈਂਟ ਦੇ ਮੁੱਲ ਨੂੰ ਡਿਫਾਲਟ ਦੇ ਤੌਰ 'ਤੇ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹਾਂ।


ਪਾਈਥਨ ਇਸਨੂੰ ਸਪੋਰਟ ਨਹੀਂ ਕਰਦਾ।


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): ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਚਾਰ ਆਰਗੂਮੈਂਟ ਪਾਸ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।


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.

ਕਿਉਂਕਿ ਇਹ ਇੱਕ ਡਿਕਸ਼ਨਰੀ ਆਉਟਪੁੱਟ ਹੈ, ਇਸਨੂੰ ਆਰਡਰ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ।


Object-Oriented Methodology It is based on real world programming.

ਵਸਤੂ-ਅਧਾਰਿਤ ਵਿਧੀ ਇਹ ਅਸਲ ਸੰਸਾਰ ਪ੍ਰੋਗਰਾਮਿੰਗ 'ਤੇ ਅਧਾਰਤ ਹੈ।


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.

ਵਸਤੂ ਓਰੀਐਂਟੇਸ਼ਨ ਦਾ ਫਾਇਦਾ ਇਹ ਹੈ ਕਿ ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਵੱਡੇ, ਗੁੰਝਲਦਾਰ ਪ੍ਰੋਜੈਕਟ ਦੇ ਇੱਕ ਹਿੱਸੇ 'ਤੇ ਕੰਮ ਕਰਦੇ ਹੋ, ਤਾਂ ਦੂਜਾ ਹਿੱਸਾ ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਹੁੰਦਾ।


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.

ਜਿੰਨਾ ਜ਼ਿਆਦਾ ਸਮਾਂ ਤੁਸੀਂ ਟਿਊਪਲ, ਲਿਸਟਾਂ ਅਤੇ ਡਿਕਸ਼ਨਰੀਆਂ ਨਾਲ ਬਿਤਾਓਗੇ, ਓਨਾ ਹੀ ਤੁਸੀਂ ਪਾਈਥਨ ਬਾਰੇ ਸਿੱਖੋਗੇ।


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.

ਪਾਈਥਨ ਦੇ ਘਰ ਦੇ ਅੰਦਰ ਇੱਕ ਵੱਡੀ ਲਾਇਬ੍ਰੇਰੀ ਹੈ।


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

ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਕੋਡ ਨੂੰ ਚਲਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਨਾਵਾਂ ਦੀ ਇੱਕ ਸੂਚੀ ਦੇਖੋਗੇ ਜੋ ਮੈਂ ਹੁਣੇ ਜੋੜੀ ਹੈ।


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

ਪਰ ਵੱਡੇ ਪ੍ਰੋਜੈਕਟ ਲਈ, MySQL ਵਰਗੇ ਡਾਟਾਬੇਸ ਦੀ ਚੋਣ ਕਰਨਾ ਬਿਹਤਰ ਹੈ।


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

ਪਾਈਥਨ3 ਵਿੱਚ MySQL ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਤੁਹਾਨੂੰ MySQL ਕਨੈਕਟਰ ਨੂੰ ਡਾਊਨਲੋਡ ਅਤੇ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।


In Windows or Linux, installing PHPMyAdmin is very easy.

ਵਿੰਡੋਜ਼ ਜਾਂ ਲੀਨਕਸ ਵਿੱਚ, PHPMyAdmin ਨੂੰ ਸਥਾਪਿਤ ਕਰਨਾ ਬਹੁਤ ਆਸਾਨ ਹੈ।


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

ਆਓ ਮੰਨ ਲਓ ਕਿ ਸਾਡੇ ਕੋਲ “python-mysql” ਨਾਮ ਦਾ ਇੱਕ ਡਾਟਾਬੇਸ ਹੈ।


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

ਇਹ ਸਾਨੂੰ “conn ਆਬਜੈਕਟ ਤੋਂ ਕਨੈਕਟਡ” ਦਾ ਪ੍ਰਿੰਟਆਉਟ ਦੇਵੇਗਾ।


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

ਹੁਣ ਟੇਬਲ ਤੋਂ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਨ ਦਾ ਸਮਾਂ ਆ ਗਿਆ ਹੈ।


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

ਅਸੀਂ ਕੋਸ਼ਿਸ਼ ਅਤੇ ਗਲਤੀ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਹੈ ਤਾਂ ਜੋ ਜੇਕਰ ਕਨੈਕਸ਼ਨ ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ 'ਤੇ ਇੱਕ ਭੱਦਾ “ਗਲਤੀ” ਸੁਨੇਹਾ ਨਹੀਂ ਦਿਖਾਏਗਾ।


ਮੰਨ ਲਓ ਕਿ ਸਾਡੇ ਕੋਲ ਦੋ ਵੱਖ-ਵੱਖ ਸੈੱਟਅੱਪ ਹਨ।


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 script checks the Python version and operating system details.

ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਪਾਈਥਨ ਵਰਜ਼ਨ ਅਤੇ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਦੇ ਵੇਰਵਿਆਂ ਦੀ ਜਾਂਚ ਕਰਦੀ ਹੈ।


The code uses modules like 'sys' and 'urllib.request' to gather system information and fetch web pages.

ਕੋਡ ਸਿਸਟਮ ਦੀ ਜਾਣਕਾਰੀ ਇਕੱਠੀ ਕਰਨ ਅਤੇ ਵੈੱਬ ਪੇਜਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ 'sys' ਅਤੇ 'urllib.request' ਵਰਗੇ ਮੋਡੀਊਲ ਵਰਤਦਾ ਹੈ।


The output varies depending on the operating system, showing differences between Linux and Windows.

ਆਉਟਪੁੱਟ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਲੀਨਕਸ ਅਤੇ ਵਿੰਡੋਜ਼ ਵਿਚਕਾਰ ਅੰਤਰ ਦਿਖਾਉਂਦਾ ਹੈ।


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 runs, the 'random' module produces new random numbers.

ਹਰ ਵਾਰ ਜਦੋਂ ਕੋਡ ਚੱਲਦਾ ਹੈ, 'random' ਮੋਡੀਊਲ ਨਵੇਂ ਬੇਤਰਤੀਬ ਨੰਬਰ ਤਿਆਰ ਕਰਦਾ ਹੈ।


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

ਪਾਈਥਨ ਸਟੈਂਡਰਡ ਲਾਇਬ੍ਰੇਰੀ 'datetime' ਵਰਗੇ ਮੋਡੀਊਲਾਂ 'ਤੇ ਵਿਸਤ੍ਰਿਤ ਦਸਤਾਵੇਜ਼ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ।


The MySQL Connector and Configuration Parser modules are used in the code.

MySQL ਕਨੈਕਟਰ ਅਤੇ ਕੌਂਫਿਗਰੇਸ਼ਨ ਪਾਰਸਰ ਮੋਡੀਊਲ ਕੋਡ ਵਿੱਚ ਵਰਤੇ ਜਾਂਦੇ ਹਨ।


Debugging and the unittest module are essential for code maintenance.

ਡੀਬੱਗਿੰਗ ਅਤੇ ਯੂਨਿਟਟੈਸਟ ਮੋਡੀਊਲ ਕੋਡ ਦੇ ਰੱਖ-ਰਖਾਅ ਲਈ ਜ਼ਰੂਰੀ ਹਨ।


The unittest module helps in identifying and fixing errors in the code.

ਯੂਨਿਟਟੈਸਟ ਮੋਡੀਊਲ ਕੋਡ ਵਿੱਚ ਗਲਤੀਆਂ ਦੀ ਪਛਾਣ ਕਰਨ ਅਤੇ ਠੀਕ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।


The example shows how to use the unittest module to test the Python version and time.

ਉਦਾਹਰਨ ਦਿਖਾਉਂਦੀ ਹੈ ਕਿ ਪਾਈਥਨ ਵਰਜ਼ਨ ਅਤੇ ਸਮੇਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਯੂਨਿਟਟੈਸਟ ਮੋਡੀਊਲ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ।


The code defines methods like 'PyVer' and 'PyTime' to display version and time information.

ਕੋਡ ਵਰਜ਼ਨ ਅਤੇ ਸਮੇਂ ਦੀ ਜਾਣਕਾਰੀ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ 'PyVer' ਅਤੇ 'PyTime' ਵਰਗੇ ਤਰੀਕੇ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ।


The unittest module compares the output of the methods using 'assertEqual'.

ਯੂਨਿਟਟੈਸਟ ਮੋਡੀਊਲ 'assertEqual' ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਤਰੀਕਿਆਂ ਦੇ ਆਉਟਪੁੱਟ ਦੀ ਤੁਲਨਾ ਕਰਦਾ ਹੈ।


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

ਯੂਨਿਟਟੈਸਟ ਮੋਡੀਊਲ ਦਾ ਆਉਟਪੁੱਟ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਟੈਸਟ ਪਾਸ ਹੋਏ ਹਨ ਜਾਂ ਫੇਲ੍ਹ ਹੋਏ ਹਨ।


Intentional errors are introduced to test the failure of the unittest module.

ਯੂਨਿਟਟੈਸਟ ਮੋਡੀਊਲ ਦੀ ਅਸਫਲਤਾ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਜਾਣਬੁੱਝ ਕੇ ਗਲਤੀਆਂ ਪੇਸ਼ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।


The chapter introduces advanced Python concepts like socket and networking.

ਇਹ ਅਧਿਆਇ ਸਾਕਟ ਅਤੇ ਨੈੱਟਵਰਕਿੰਗ ਵਰਗੇ ਐਡਵਾਂਸਡ ਪਾਈਥਨ ਸੰਕਲਪਾਂ ਨੂੰ ਪੇਸ਼ ਕਰਦਾ ਹੈ।


The code uses the 'socket' module to get the IP address of websites.

ਕੋਡ ਵੈੱਬਸਾਈਟਾਂ ਦਾ IP ਪਤਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ 'socket' ਮੋਡੀਊਲ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।


Ethical hackers should understand socket and networking concepts.

ਨੈਤਿਕ ਹੈਕਰਾਂ ਨੂੰ ਸਾਕਟ ਅਤੇ ਨੈੱਟਵਰਕਿੰਗ ਸੰਕਲਪਾਂ ਨੂੰ ਸਮਝਣਾ ਚਾਹੀਦਾ ਹੈ।


The Nmap module is used for network scanning and mapping.

Nmap ਮੋਡੀਊਲ ਦੀ ਵਰਤੋਂ ਨੈੱਟਵਰਕ ਸਕੈਨਿੰਗ ਅਤੇ ਮੈਪਿੰਗ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।


Nmap is an essential tool for ethical hackers to discover hosts and services.

Nmap ਨੈਤਿਕ ਹੈਕਰਾਂ ਲਈ ਮੇਜ਼ਬਾਨਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਦੀ ਖੋਜ ਕਰਨ ਲਈ ਇੱਕ ਜ਼ਰੂਰੀ ਸੰਦ ਹੈ।


The script demonstrates how to use the Nmap module to scan a target IP address.

ਸਕ੍ਰਿਪਟ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ ਕਿਸੇ ਟੀਚੇ ਦੇ IP ਪਤੇ ਨੂੰ ਸਕੈਨ ਕਰਨ ਲਈ Nmap ਮੋਡੀਊਲ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ।


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.

ਭਵਿੱਖ ਵਿੱਚ, ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਪੇਸ਼ੇਵਰ ਵਜੋਂ ਕੰਮ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਇੱਕ VPN ਸੇਵਾ ਕਿਰਾਏ 'ਤੇ ਲੈਣੀ ਪਵੇਗੀ।


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 ਪਤੇ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।


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

ਅਜਿਹੀ ਸਥਿਤੀ ਵਿੱਚ, ਜੇਕਰ ਤੁਸੀਂ ਚੀਨ ਜਾਂ ਰੂਸ ਤੋਂ ਇੱਕ IP ਪਤਾ ਵਰਤਦੇ ਹੋ, ਤਾਂ ਨੈੱਟਵਰਕ ਪ੍ਰਸ਼ਾਸਕ ਨਿਸ਼ਚਤ ਤੌਰ 'ਤੇ ਤੁਹਾਡੇ ਪਿੱਛੇ ਜਾਵੇਗਾ।


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 don’t know whether or not you have heard about it before.

ਮੈਨੂੰ ਨਹੀਂ ਪਤਾ ਕਿ ਤੁਸੀਂ ਇਸ ਬਾਰੇ ਪਹਿਲਾਂ ਸੁਣਿਆ ਹੈ ਜਾਂ ਨਹੀਂ।


The rumor is the “dark web” or “deep web ” consists of a major portion of the Internet.

ਅਫਵਾਹ ਇਹ ਹੈ ਕਿ “ਡਾਰਕ ਵੈੱਬ” ਜਾਂ “ਡੀਪ ਵੈੱਬ” ਇੰਟਰਨੈੱਟ ਦੇ ਇੱਕ ਵੱਡੇ ਹਿੱਸੇ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ।


It is something like “dark matter” that consists of 97 or 98 percent of the mass of the universe.

ਇਹ “ਡਾਰਕ ਮੈਟਰ” ਵਰਗਾ ਕੁਝ ਹੈ ਜਿਸ ਵਿੱਚ ਬ੍ਰਹਿਮੰਡ ਦੇ ਪੁੰਜ ਦਾ 97 ਜਾਂ 98 ਪ੍ਰਤੀਸ਼ਤ ਹਿੱਸਾ ਹੁੰਦਾ ਹੈ।


People say the dark web is full of information that we usually don’t get normally.

ਲੋਕ ਕਹਿੰਦੇ ਹਨ ਕਿ ਡਾਰਕ ਵੈੱਬ ਜਾਣਕਾਰੀ ਨਾਲ ਭਰਪੂਰ ਹੈ ਜੋ ਸਾਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਨਹੀਂ ਮਿਲਦੀ।


You need a special kind of browser to enter into that maze of mysteries.

ਤੁਹਾਨੂੰ ਰਹੱਸਾਂ ਦੇ ਉਸ ਭੁਲਭੁਲੱਈਏ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਲਈ ਇੱਕ ਖਾਸ ਕਿਸਮ ਦੇ ਬ੍ਰਾਊਜ਼ਰ ਦੀ ਲੋੜ ਹੈ।


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

ਮੈਨੂੰ ਤੁਹਾਨੂੰ ਚੇਤਾਵਨੀ ਦੇਣੀ ਚਾਹੀਦੀ ਹੈ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਤੁਸੀਂ ਟੋਰ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਅਤੇ ਡਾਰਕ ਵੈੱਬ ਵਿੱਚ ਦਾਖਲ ਹੋਵੋ।


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


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

ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਦੇਖਦੇ ਹੋ, ਇਹ ਦੋ MAC ਐਡਰੈੱਸ ਦਿਖਾਉਂਦਾ ਹੈ—ਇੱਕ ਮੌਜੂਦਾ ਹੈ ਅਤੇ ਦੂਜਾ ਸਥਾਈ ਹੈ।


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

ਇਸਦਾ ਕਾਰਨ ਇਹ ਹੈ ਕਿ “ifconfig ” ਕਮਾਂਡ ਸਿਰਫ਼ ਮੌਜੂਦਾ MAC ਐਡਰੈੱਸ ਦਿਖਾਏਗੀ।


Now we’d like to change our MAC address.

ਹੁਣ ਅਸੀਂ ਆਪਣਾ MAC ਐਡਰੈੱਸ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਹਾਂ।


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

ਆਓ ਇਹ ਕਮਾਂਡ ਜਾਰੀ ਕਰੀਏ: root@kali:# macchanger –h


GNU MAC Changer Usage: macchanger [options] device

GNU MAC Changer ਵਰਤੋਂ: macchanger [ਵਿਕਲਪ] ਡਿਵਾਈਸ


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.

ਪਹਿਲੇ ਤਿੰਨ ਸੈੱਟ ਨੈੱਟ ਕਾਰਡ ਨਿਰਮਾਤਾ ਨਾਲ ਸਬੰਧਤ ਹਨ ਅਤੇ, ਕਿਉਂਕਿ ਉਹ ਨਹੀਂ ਬਦਲੇ ਗਏ ਹਨ, ਇਸ ਲਈ ਤੁਹਾਨੂੰ ਪਛਾਣਿਆ ਜਾ ਸਕਦਾ ਹੈ।


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.

ਨੈਤਿਕ ਹੈਕਰ ਕਈ ਵਾਰ ਉਸ ਚਾਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ।


As an ethical hacker you need to study this part particularly, as the malicious hackers often use another’s machine MAC address and pretend to be someone while they do the wrong things.

ਇੱਕ ਨੈਤਿਕ ਹੈਕਰ ਹੋਣ ਦੇ ਨਾਤੇ, ਤੁਹਾਨੂੰ ਇਸ ਹਿੱਸੇ ਦਾ ਖਾਸ ਤੌਰ 'ਤੇ ਅਧਿਐਨ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਕਿਉਂਕਿ ਖਤਰਨਾਕ ਹੈਕਰ ਅਕਸਰ ਦੂਜੇ ਦੀ ਮਸ਼ੀਨ ਦਾ MAC ਐਡਰੈੱਸ ਵਰਤਦੇ ਹਨ ਅਤੇ ਕਿਸੇ ਹੋਰ ਹੋਣ ਦਾ ਦਿਖਾਵਾ ਕਰਦੇ ਹਨ ਜਦੋਂ ਉਹ ਗਲਤ ਕੰਮ ਕਰਦੇ ਹਨ।