An ethical hacker is a computer expert, who specializes in networking and penetration testing. This generally entails the following skill set –
Expertise in various operating systems, primarily Linux and its various distribution. This is because a good portion of vulnerability testing includes invading the target system and sifting through their system. This is impossible without a good grasp on operating systems.
In-depth knowledge of networking is also key to a successful ethical hacking career. This involves packet tracking, packet sniffing, intrusion detection & prevention, scanning subnets etc.
Programming: Now programming is a vast topic with nuances in every language. As an ethical hacker, it is not expected of you to be a master-coder, but rather be a jack-of-all-trades.
Below is a table of the major/commonly used programming languages. Knowing these will definitely help you as an ethical hacker:
||Reason to learn|
||Used for creating web pages
||HTML forms are used to enter data all over the internet. Being able to construct your own forms for analyzing vulnerabilities helps to figure out security issues in the code|
||Client-side scripting language. Also used for writing backend services
||Used for interacting with databases
||Using SQL injection, to by-pass web application login algorithms that are weak, delete data from the database, etc.|
||PHP is one of the most used web programming languages. It is used to process HTML forms and performs other custom tasks. You could write a custom application in PHP that modifies settings on a web server and makes the server vulnerable to attacks.|
||Creating small batch files and handy scripts
||They come in handy when you need to write your own shellcodes, exploits, rootkits or understanding and expanding on existing ones.|
Source : https://www.edureka.co/blog/ethical-hacking-tutorial/#Skills