求教怎么编程构造数据包并发送?

使用c++,或者c#,怎样构造诸如arp reply的包(其中的字段可自己控制又什么数据填充),icmp包,之类的,希望能给出相关博客等各种形式的资料,教程的链接,推荐有什么好的书也可以。
另外用python实现的也可以

参考原始套接字来构造数据包

参考:http://download.csdn.net/detail/daichangjian/3656531