Raw socket
下記は第一引数のIPアドレスで指定されたホストにicmp echoパケットを送信し、replyが返ってくるのを待つプログラムである。
標準のソケットでは、送信するペイロードは選択したトランスポート層のプロトコル(例: TCP、UDP)によってカプセル化される。 対照的にraw socketは通常ヘッダを含んだ生のパケットを受信する。パケットを送るとき、ヘッダの自動的な追加はソケットの変更可能なオプションとなるだろう。
raw socketのひとつの可能な用途としてユーザー空間での新しいトランスポート層の実装が挙げられる。 raw socketは典型的にネットワーク装置において利用でき、Internet Group Management Protocol (IGMP) や Open Shortest Path First (OSPF) のようなルーティングプロトコル、そして Internet Control Message Protocol (ICMP, Pingとしてよく知られている) に使用されている。