In this video we are going to be learning about direct and reverse connections.
Next Video - Create an online server using Digital Ocean -
https://youtu.be/DTHJTKM_m7cPython Network/Socket Programming Playlist -
https://www.youtube.com/playlist?list=PLhTjy8cBISErYuLZUvVOYsR1giva2payFFirst we are going to discuss about direct connections and it's real life use case. Then we will get into some of the problems with direct connection and how reverse connection solves them.
So without wasting any time lets get into the direct connection.
Lets say you are sitting somewhere in China and you have a friend, in lets say, Texas. Now your friend has run into some kind of a problem with his computer and he wants you to fix it. So what you can do is, you can remotely connect to his computer using command shell or terminal and fix his computer for him. This type of connection is achieved by something known as a direct connection.
In a direct connection we first create a socket on our computer, which basically means opening up a line of communication between computers. Then we bind our port and host to the socket and send a request to our friend on his IP address. If he accepts our request then we will be able to remotely access his computer using our command prompt on terminal and fix his problems.
So for direct connection we require IP address of our computer as well as our friend's computer.
Now lets discuss some of the problems associated with a direct connection
1) The first major problem with a direct connection is that it's difficult to get the IP address of your friends computer if he is not tech savvy. Or lets say you are hacker who wants to access the someone's computer without his knowledge. In this scenario getting the IP address of someone's computer is next to impossible.
2) Now let's assume you have gotten access to the IP address of another computer or your friends computer. That still makes it difficult to maintain the connection because the IP address is dynamic. That is, it's always changing. So you won't be able to maintain the connection for a long time.
3) And Even if we could get regular updates to his dynamic IP address, computers have a bunch of in-built firewalls which prevent these type of connections to happen, thus making it impossible for us to get into his computer.
Now that we understand the concept of direct connection lets understand the process of reverse connection and how it mitigates the problems faced in a direct connection.
To understand reverse connection I think it's best to take the example of a hacker trying to access his victim's computer without his knowledge. In reverse connection, instead of trying to initiate or start a connection from his computer the connection is initiated from the victims computer. So what hackers do is that they create a python file called reverse shell. In that file the IP address and the port of hacker's computer is stored.
Then they send the file to victim's via an email or via a USB and when the victim opens up this file it creates a reverse connection to the hackers computer.
Now because the victim is starting the connection the hacker doesn't have to worry about the IP address of the victim's computer. So even if the IP address is dynamic it doesn't really matter because every time the IP address changes the file installed on the victim's computer calibrates accordingly.
But there is still one more problem to solve. The hackers computer still has a dynamic IP address so the address stored in the file will be useless after sometime.
To mitigate this problems hackers create a server and they store the IP address of the server in the reverse shell file because servers have static IP addresses.
In the future videos we are going to be revisiting this concept of reverse connection a lot. So if you didn't understand any part of it, you don't have to worry because we will be going through this when we are writing the code to create a reverse connection.
In the next video we will be creating a live server on digital ocean and we will finally do something hands on. So ill see you in the next video.
Subscribe -
https://www.youtube.com/channel/UCirPbvoHzD78Lnyll6YYUpg?sub_confirmation=1Website - www.buildwithpython.com
Instagram -
http://instagram.com/buildwithpython#python
About the Site π
This site provides links to random videos hosted at YouTube, with the emphasis on random. π₯
Origins of the Idea π±
The original idea for this site stemmed from the need to benchmark the popularity of a video against the general population of YouTube videos. π§
Challenges Faced π€
Obtaining a large sample of videos was crucial for accurate ranking, but YouTube lacks a direct method to gather random video IDs.
Even searching for random strings on YouTube doesn't yield truly random results, complicating the process further. π
Creating Truly Random Links π οΈ
The YouTube API offers additional functions enabling the discovery of more random videos. Through inventive techniques and a touch of space-time manipulation, we've achieved a process yielding nearly 100% random links to YouTube videos.
About YouTube πΊ
YouTube, an American video-sharing website based in San Bruno, California, offers a diverse range of user-generated and corporate media content. π
Content and Users π΅
Users can upload, view, rate, share, and comment on videos, with content spanning video clips, music videos, live streams, and more.
While most content is uploaded by individuals, media corporations like CBS and the BBC also contribute. Unregistered users can watch videos, while registered users enjoy additional privileges such as uploading unlimited videos and adding comments.
Monetization and Impact π€
YouTube and creators earn revenue through Google AdSense, with most videos free to view. Premium channels and subscription services like YouTube Music and YouTube Premium offer ad-free streaming.
As of February 2017, over 400 hours of content were uploaded to YouTube every minute, with the site ranking as the second-most popular globally. By May 2019, this figure exceeded 500 hours per minute. π
List of ours generatorsβ‘
Random YouTube Videos Generator
Random Film and Animation Video Generator
Random Autos and Vehicles Video Generator
Random Music Video Generator
Random Pets and Animals Video Generator
Random Sports Video Generator
Random Travel and Events Video Generator
Random Gaming Video Generator
Random People and Blogs Video Generator
Random Comedy Video Generator
Random Entertainment Video Generator
Random News and Politics Video Generator
Random Howto and Style Video Generator
Random Education Video Generator
Random Science and Technology Video Generator
Random Nonprofits and Activism Video Generator