An exploratory factor analysis is quite easy in SPSS at Dimension Reduction / Factor, but you will need other software if you desire to conduct a confirmatory factor analysis.
There are some key steps to follow when performing (exploratory) factor analysis:
1. Ensure the quality of your indicators. No statistical method, no matter how refined, will make your data useful if poorly defined measures have been used. Therefore, a great deal of effort has to be devoted in making the measure as clear, coherent, and comprehensive as possible.
2. Choose whether your analysis will be based on Pearson, tetrachoric, or polychoric correlations. If your data are continous, Pearson correlations may be the best choice. However, if your data are categorical in nature (dichotomous or polytomous), then you should go for tetrachoric/polychoric correlations. Obviously, it only makes sense if there is an underlying continuum implicit in your categorical data (e.g. it wouldn't make any sense to perform factor analysis on a dichotomous variable like gender).
3. Choose your extraction method: ML or its robust variants, DWLS, ULS, PAF, etc. These methods have different assumptions: some are more restrictive than others. Please, take into consideration the fact that principal components analysis is a different method of extraction; it is not, strictly speaking, factor analysis. There has been a lot of confusion about it.
4. Decide how many factors you will retain. Perhaps this is the most overlooked aspect of factor analysis, even though it's arguably the most important one. There are some useful guidelines for deciding the number of factores; my personal preferences are parallel analysis, lowest BIC, and the scree plot. Unfortunately, only the latter is included in SPSS (perhaps the most popular statistical software in the world). Using fit indices (e.g. CFI, RMSEA) as guidance to decide the number of factors to retain is also very fruitful, but these again are not included in SPSS. However, remember that, in the end, the number of factors should be decided on the basis of conceptual and interpretational issues.
5. If you retain more than one factor, choose which rotation method you shall use. Oblique rotations (e.g. Direct Oblimin, Promax) are usually recommended. They allow the correlations between factors to be estimated. In case these correlations are near null (close to zero), then it may be more parsimonious to change to an orthogonal rotation (e.g. Varimax) which assumes factors are uncorrelated.
As you start performing your factor analysis, it will become obvious that this is an iterative process, so the sequence outlined here is only for general guidance.
You also ask about tools to use. If you want something more or less refined, you may want to try FACTOR, which is free software specialized in EFA. Here's a readable tutorial to using FACTOR with ordinal data: http://pareonline.net/pdf/v19n5.pdf