How do I add a porous texture to a mesh?
Using image textures:
There are a few things that could be causing your texture to look distorted:

Ensure that your mesh is properly UV unwrapped

Check that you have UV coordinates selected; in cycles this is accessed with the Texture coordinate node, in Blender Internal it is set in Texture settings &gt; Mapping.


Using Procedural textures:
As said on the wiki:

Procedural textures are textures that are defined mathematically. They are generally relatively simple to use, because they don't need to be mapped in a special way - which doesn't mean that procedural textures can't become very complex.
These types of textures are 'real' 3D. By that we mean that they fit together perfectly at the edges and continue to look like what they are meant to look like even when they are cut; as if a block of wood had really been cut in two. Procedural textures are not filtered or anti-aliased. This is hardly ever a problem: the user can easily keep the specified frequencies within acceptable limits.

Blender Internal:
Here is a quick example of a bump mapped cloud noise texture:

To create this:

Add a new material

Add a new Clouds texture

In Texture settings &gt; Influence &gt; Diffuse disable Color, and in Influence &gt; Geometry enable Normal to use bump mapping. (you may want to scale down the influence a bit, and change the Method to Best quality)

In Texture settings &gt; Clouds &gt; Basis change the Size value as desired.


Cycles:
To bump map, simply plug the texture into the Displace socket of the Material output node.

Note that this can also be done per shader with the Bump node and the Vector input socket of shader nodes.