Friday 30 March 2018

What is Port Forwarding.? How does it works.?

Since an IP address can easily be traced by anyone, most people prefer using services, like VPN or proxies to hide or change their IP address. These services employ the Port forwarding feature to change the IP address of any device.
Port forwarding, also referred to as Port tunneling, is a behind-the-scenes process of intercepting data traffic heading for a computer’s IP combination and redirecting it to a different IP. Usually, a VPN or proxy program is used to cause the redirection, but it can also be done via hardware components such as a router, proxy server, or firewall.
This allows you to send requests to servers across the internet without other people knowing the original location or IP address of these requests, guaranteeing your privacy on the internet.

How does port forwarding work?

To send any request over the internet, packets of data are created and sent over the internet. These packets contain the details of your request, which also includes the destination of your computer or device.
Normally, a network router examines the header of an IP packet before sending it to any linked and appropriate interface. It, in turn, then sends the data to the destination that’s in the header.
But Port forwarding changes things a bit. In port forwarding, the intercepting application (your VPN client) reads the packet header, notes down the destination, and then rewrites the header information before sending it to another computer or server—one which is different from the computer/server you intended.
That secondary host destination may be a different server using a different IP address, a different port, or a completely different combination of the two. In case of a VPN or proxy, this secondary destination are usually the servers employed by the provider which mask or cover your original IP address.

A look at port forwarding

The following example will help in explaining how the port forwarding feature works.
In the following example, IP Address 101.0.0.1 sends a request to 101.0.0.3 on Port 90. An intermediary host—101.0.0.2—intercepts the packets, rewrites the packet headers and sends them on to IP Address 101.0.0.4 on Port 9090:
101.0.0.1–>101.0.0.2–>101.0.0.4
Makes a request toActually sends to
101.0.0.3:90101.0.0.4:9090
The host, 101.0.0.4, responds to this request, sending it to 101.0.0.2. Then 101.0.0.2 rewrites the packet—indicating that the response is from 101.0.0.3—and sends it to 101.0.0.1:
101.0.0.4–>101.0.0.2–>101.0.0.1
Sends its response toForwards the response to
101.0.0.2:9090101.0.0.1:90
As far as 101.0.0.1 is concerned, it has sent a request to 101.0.0.3 on Port 90 and has received a response back from 101.0.0.3 on Port 90. But this isn’t what actually happened. The traffic never really touched 101.0.0.3. But, because of the way the packets were rewritten, 101.0.0.1 sees that it has gotten a response from 101.0.0.3.
The perceived destination is always from the perspective of the requesting computer. As you can see in the diagram: despite 101.0.0.4 becoming the real-time destination for traffic from 101.0.0.1, the destination for all traffic (as far as the requesting host knows) is 101.0.0.3.
So thats it. Hope you guys like it. If yes then please .. comment down below and do not forgot to like follow and share our social media platforms. 

Facebook Page:- https://www.facebook.com/theprogrammer.harshit/ 

Machine Learning VS Artificial Intelligence


Now a days Artificial Intelligence and Machine Learning has become comman in day to day life. People usually get confused between Artificial Intelligence and Machine Learning  now today i am going to tell your briefly about Artificial Intelligence and Machine Learning.

AI and machine learning are often used interchangeably, especially in the realm of big data. But these aren’t the same thing, and it is important to understand how these can be applied differently.  
Artificial intelligence is a broader concept than machine learning, which addresses the use of computers to mimic the cognitive functions of humans. When machines carry out tasks based on algorithms in an “intelligent” manner, that is AI. Machine learning is a subset of AI and focuses on the ability of machines to receive a set of data and learn for themselves, changing algorithms as they learn more about the information they are processing. 
Training computers to think like humans is achieved partly through the use of neural networks. Neural networks are a series of algorithms modeled after the human brain. Just as the brain can recognize patterns and help us categorize and classify information, neural networks do the same for computers. The brain is constantly trying to make sense of the information it is processing, and to do this, it labels and assigns items to categories. When we encounter something new, we try to compare it to a known item to help us understand and make sense of it. Neural networks do the same for computers. 
Benefits of neural networks:
  • Extract meaning from complicated data
  • Detect trends and identify patterns too complex for humans to notice
  • Learn by example
  • Speed advantages
Deep learning goes yet another level deeper and can be considered a subset of machine learning. The concept of deep learning is sometimes just referred to as "deep neural networks," referring to the many layers involved. A neural network may only have a single layer of data, while a deep neural network has two or more. The layers can be seen as a nested hierarchy of related concepts or decision trees. The answer to one question leads to a set of deeper related questions.
Deep learning networks need to see large quantities of items in order to be trained. Instead of being programmed with the edges that define items, the systems learn from exposure to millions of data points. An early example of this is the Google Brain learning to recognize cats after being shown over ten million images. Deep learning networks do not need to be programmed with the criteria that define items; they are able to identify edges through being exposed to large amounts of data.
So thats it. Hope you guys like it. If yes then please .. comment down below and do not forgot to like follow and share our social media platforms. 

Facebook Page:- https://www.facebook.com/theprogrammer.harshit/ 

Saturday 17 March 2018

Difference between HTML and HTTP

Many folks get confused between these two terms which are associated with the Web. Are they really same? First thing first. HTML is a Language while HTTP is a Protocol. Doesn’t make much sense..? it’s okay! We’ll discuss it in more detail.
HTML (Hypertext Markup Language) is a language for marking the normal text so that it gets converted into hypertext. Again, not so clear. Basically, HTML tags (e.g. “<head>”, “<body>” etc.) are used to tag or mark normal text so that it becomes hypertext and several hypertext pages can be interlinked with each other resulting in the Web. Please note that the HTML tags are used to help render web pages as well in the Browser. On the contrary, HTTP (Hypertext Transfer Protocol) is a protocol for transferring the hypertext pages from Web Server to Web Browser. For exchanging web pages between Server and Browser, an HTTP session is setup using protocol methods (e.g. GET, POST etc.). This would be explained in another post.
To understand this difference between HTML and HTTP, we can think of an analogy. Think of HTML as C language and HTTP as FTP. Now one can write C programs in C language and then one can transfer these C programs from Server to Clients using FTP (i.e. File transfer protocol). Same way, web pages (which are mostly HTML pages) are written in HTML and these web pages are exchanged between Server and Clients using HTTP. Since HTML is a language and HTTP is a protocol, they are two different things though related. In fact, it’s possible to exchange HTML web pages without HTTP (e.g. using FTP to transfer HTML pages).

So thats it. Hope you guys like it. If yes then please .. comment down below and do not forgot to like follow and share our social media platforms. 

Facebook Page:- https://www.facebook.com/theprogrammer.harshit/ 

Friday 16 March 2018

What are APIs..? How do they work..?

What is an API?

API stands for Application Programming Interface. An API is a software intermediary that allows two applications to talk to each other.  In other words, an API is the messenger that delivers your request to the provider that you’re requesting it from and then delivers the response back to you.
An API defines functionalities that are independent of their respective implementations, which allows those implementations and definitions to vary without compromising each other. Therefore, a good API makes it easier to develop a program by providing the building blocks.

How do APIs work?


Imagine a waiter in a restaurant.  You, the customer, are sitting at the table with a menu of choices to order from, and the kitchen is the provider who will fulfill your order.
You need a link to communicate your order to the kitchen and then to deliver your food back to your table. It can’t be the chef because she’s cooking in the kitchen. You need something to connect the customer who’s ordering food and the chef who prepares it.  That’s where the waiter — or the API —  enters the picture.
api server chef example
The waiter takes your order, delivers it to the kitchen, telling the kitchen what to do. It then delivers the response, in this case, the food, back to you. Moreover, if it’s designed correctly, hopefully, your order won’t crash!

A real example of an API

How are APIs used in the real world? Here’s a very common scenario – booking a flight.
When you search for lights online, you have a menu of options to choose from. You choose a departure city and date, a return city and date, cabin class, and other variables like your meal, your seat, or baggage requests.
airline demo
To book your flight, you need to interact with the airline’s website to access the airline’s database to see if any seats are available on those dates, and what the cost might be based on the date, flight time, route popularity, etc.
You need access to that information from the airline’s database, whether you’re interacting with it from the website or an online travel service that aggregates information from multiple airlines. Alternatively, you might be accessing the information from a mobile phone. In any case, you need to get the information, and so the application must interact with the airline’s API, giving it access to the airline’s data.
The API is the interface that, like your helpful waiter, runs and delivers the data from the application you’re using to the airline’s systems over the Internet. It also then takes the airline’s response to your request and delivers right back to the travel application you’re using. Moreover, through each step of the process, it facilitates the interaction between the application and the airline’s systems – from seat selection to payment and booking.
APIs do the same for all interactions between applications, data, and devices. They allow the transmission of data from system to system, creating connectivity. APIs provide a standard way of accessing any application data, or device, whether it’s accessing cloud applications like Salesforce, or shopping from your mobile phone.

So thats it. Hope you guys like it. If yes then please .. comment down below and do not forgot to like follow and share our social media platforms. 

Facebook Page:- https://www.facebook.com/theprogrammer.harshit/ 

Thursday 15 March 2018

Ping V/s Traceroute

In computer networks, data is sent in small blocks known as packets. Each packet is transmitted individually and may also follow different route to reach the destination. Once all these packets of the original message reach the destination, they are re-assembled to form the original message. But, sometimes, it may happen that the web server is down, network congestion or some other technical glitch is there, that may prevent the message from reaching the destination. To diagnose such congestions and network failures, we use two common programs namely Ping and Traceroute.
Ping – It is a utility that helps one to check if a particular IP address is accessible or not. Ping works by sending a packet to the specified address and waits for the reply. It also measures round trip time and reports errors.
Ping is also used in checking if the computers on a local network are active. For this, the user has to go in command prompt and type : ping 127.0.0.1, and if the address is active, the ping would return a message like this :

The IP address 127.0.0.1 is the address of the local host and would receive a ping reply even if the sender is not connected to internet.
Traceroute – It is utility  that traces a packet from your computer to the host, and will also show the number of steps (hops) required to reach there, along with the time by each step. Traceroute works by sending the packets of data with low survival time (Time to Live – TTL) which specifies how many steps (hops) can the packet survive before it is returned. When a packet can’t reach the final destination and expires at an intermediate step, that node returns the packet and identifies itself. So, by increasing the TTL gradually, Traceroute is able to identify the intermediate hosts. If any of the hops come back with  “Request timed out”, it denotes network congestion and a reason for slow loading Web pages and dropped connections.
The main difference between Ping and Traceroute is that Ping is a quick and easy utility to tell if the specified server is reachable and how long will it take to send and receive data from the server whereas Traceroute finds the exact route taken to reach the server and time taken by each step (hop).

So thats it. Hope you guys like it. If yes then please .. comment down below and do not forgot to like follow and share our social media platforms. 

Facebook Page:- https://www.facebook.com/theprogrammer.harshit/ 

Tuesday 13 March 2018

Tips to protect small companies from Cyber attack.

Are you the owner of a small company? If the answer is yes and you think no cyber attack will ever affect you, think again. In fact, there’s a higher risk of getting into trouble with hackers than if you were a big business, or even a medium-sized one. According to recent reports, more than 40% of cyber attacks are aimed at companies who employ under 500 people. A more worrisome study says that one in five small businesses are targeted by hackers. More often than not, these companies have to close down because their security plans are nonexistent or there’s too few of them to actually ensure complete protection.
Cybersecurity is the most important way to make sure your business isn’t put in danger by malware attacks. Especially when the people behind them show no signs of backing down. Thus, putting strong security measures in place is, like we said, essential if you don’t want to lose your life’s work and your clients’ trust. After all, the latter expect their sensitive data to be protected at all cost. When they see that that’s not the case, your clients will turn to other companies instead.
To prevent that from happening, we want to tell you how to protect your small company from cyber attacks.

Create as many backups as possible

A backup is incredibly important if you want to keep each sensitive data safe from cyber threats. People who create malicious software and send it to damage devices, particularly the ones used by employees from a small business, are relentless. By creating several backups, you can sleep well at night knowing that those important files, presentations, and whatnot won’t be ruined forever in case malware reaches them.

Use the most powerful antivirus software

In this day and age, relying on a strong security solution marks the difference between keeping your company o the course or shutting it down completely. Remember to choose the one made to protect a computer from every type of malware ever created. The antivirus software you end up with needs to locate and then get you rid of spam, spyware, Trojan horses, phishing attempts, and so much more. After you settle on the best option for your business, ensure that regular updates are performed.

Educate your employees

The people who work for you need to know that clicking on random links received via their work email is a no-no. It’s the same if they connect to networks that don’t use a strong password. These are only two of the most dangerous practices you must stop from happening. How can it be done? You could, for example, organize trainings or set up meetings where security professionals advise employees on safe practices at work.
Another idea would be to carry security policies and procedures through.

Payment terminals should use different networks

protect small company from cyber attacks 2 
Using the same network for a payment terminal is a practice that should be stopped. Never ever tie it to your general store network. Instead, keep these two separate, because that way only a few authorized employees will have access to them. By doing that, the computers on your network will keep their sensitive content intact in the face of cyber attacks.

Use cybersecurity insurance

We insure our cars, houses, and so on, so why shouldn’t we do the same for our business? Cyber security insurance helps a lot in case of a cyber threat. How? If a malware attack happens, your company will be held responsible. A lawsuit will follow, so you’ll have to pay quite a lot of money as compensation. With a cyber security insurance at hand, you make sure every legal cost is fully covered.

Change passwords regularly

Many of us use the same password for more than a year on all our devices, social platforms, and so on. Employees in small companies do the same, hence a higher risk of cyber attacks. Change the passwords every three months and remember to create very strong ones each time you do that. The most secure passwords are made of 8-16 characters that contain special characters, numbers, and letters. If you know you don’t have a good memory, a password manager will make things easier for you.

So thats it. Hope you guys like it. If yes then please .. comment down below and do not forgot to like follow and share our social media platforms. 

Facebook Page:- https://www.facebook.com/theprogrammer.harshit/