Botnets is one of the most critical cyber security threats that confronted by organizations day by day. Botnet has used distinctive strategies, topologies and communication protocol in specific levels in their life cycle. Identifying of botnets has emerged as a very challenging topic, particularly for the reason that they can improve their method at any time. Nowadays, most of the recent botnet detection techniques cannot locate modern botnets in an early stage. Mainly, botnets follow command and control infrastructure. Nowadays, botnet is an interesting and very vital research topic for researchers in our cyber security. This Paper represents a completely comprehensive evaluation that extensively discusses the botnet problem; this survey classifies all of the possible botnet detection methods, also summarizes previously published studies and recent works.