Can I send raw frames (low-level internet packets) in java ?
There's a wrapper around libpcap here that will allow you to send raw IP packets.
The standard Java java libraries only provides an API for UDP and TCP.