First let's establish our cable geometry. I will use a curve object so I can easily edit the shape. Make a tube from the curve by changing these settings and also add a subdivision modifier:
For the surface detail we can take multiple approaches:
Deform the surface physically with Displace modifier using a noise texture. The surface should be subdivided enough with Subdiv already. Note that Blender v2.78 does not have this modifier, the next option replaced it instead.
Deform the surface at render-time with material using True displacement. This has an advantage over (1) of adaptive surface subdivision based on screen space real-estate.
Alter the shading with Normal or Bump mapping. This won't change the silhouette but for non-closeups is fine.
All the options require some sort of texture to drive the effect (procedural or image). The most important point of this answer is how to map such texture onto curve's surface, so it is not stretched and actually mapped correctly. The curve can use UV space for seamless textures, but you cannot display it inside UV/Image editor. Instead you have to preview a material with for example a checker texture and scale the UV coordinates with Mapping node to eliminate stretching and any seams. Also enable the Use UV for mapping property under Curve > Texture Space options:
For procedural textures (as they are not seamless and will cause seams in UV space) the best option is object or generated mapping, also scaled accordingly with Mapping node.
Once decent mapping is established you can use whatever displacement/normal/bump map. I will demonstrate option (2) and use Noise procedural texture for the small and big bumps with different scales:
With UV mapped seamless textures you can have displacement and materials like this easily: