You can't. As with listening on ports under 1024 you have to be root.
Again, this doesn't make much sense on a phone. Bug google about it.
(Unless there is a legitimate security reason for this limitation?; I
can't think of any.)
Raw man page: "Only processes with an effective user ID of 0 [i.e.
root] or the CAP_NET_RAW capability are allowed to open raw sockets."
In fact, Google: consider this an official bugging. Please would you
add CAP_NET_BIND_SERVICE, CAP_NET_RAW, and CAP_NET_BROADCAST (and
maybe CAP_NET_ADMIN - might be useful for tethering/firewall apps) to
a new android permission (say, 'advanced_internet').
Thanks,
Tim
PS: Yes I know this is a futile request.
PPS: Yeah this should probably be in android-platform, but I expect it
would be equally futile there, so meh.
Created an issue here: http://code.google.com/p/android/issues/detail?id=4039