In reality, CPU loads heavily depend on the type of application being run on the system. If you are just using iptables style work, then my money would be on the packets being processed by a single kernel-level thread. One thread means one processor.
If you really want to test your system, give this a shot: (NOTE: Do not try this on a production system. In fact, don't try it all unless you like hot processors and nonresponsive systems).
Code:
#include <sys/types.h>
#include <unistd.h>
int main(){
while(1) fork();
return 0;
}
Again: try that at your own risk. Or preferrably, don't do it if you don't know what it does.