Why root permissions required for creating of RAW Socket

To create RAW socket in Unix/Linux why should one have root permissions?
Any other work around to create raw sockets in Unix/Linux using a normal login id? Since I don't have super user credentials and I want to create RAW sockets.
Let me know if you are aware of any work around.

The reason is, with raw sockets, you can do things like fake packets etc. which ordinary programs really have no need to do.

I don't buy your thought...
There must be some way out to create raw sockets without having root login.
Can anyone share his/her experience??

Well, good for you... Unfortunately it even says so in the 'raw' manpage:

Only processes with an effective user ID of 0 or the CAP_NET_RAW  capability are allowed to open raw sockets.

Raw access is needed by protocols, which are generally a part of the kernel, not usermode things.

You can't even send ICMP packets without root. If there was a better way they wouldn't need to have a setuid bit on ping. Which would be one way to get root when you need it, setuid bits. or sudo.