|
用户名:aomeng 笔名:aomeng 地区: 行业:其他 |
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
生活就是一个七日接着一个七日,享受每一天的阳光和黑夜。
【家庭第一,工作第二,自己第三】
不知道多少小孩遭殃了_三鹿事件资料收集
本人是8月中旬的时候从网上知道三鹿的事情的,在媒体未曝光之前,我在家乐福看婴儿的奶粉,亲眼看到三鹿的奶粉正在换货,我就有点相信网上的传言了,现在看样子问题比想象中严重的多,绝对不是奶农的错,出问题的奶粉可能不至700吨,看事件后续发展吧,过两个月我也要买奶粉了,我该如何选择,三鹿,雀巢出过问题的肯定不考虑,那别的牌子安全吗?
下面是从网上收集的资料。
1、08年五月已经有人在天涯上发贴质疑三鹿问题了,出问题的奶粉是2007/12/19 生产的。
原帖:http://cache.tianya.cn/publicforum/content/free/1/1262292.shtml
经历了这一事件,就像经历了漫漫长夜;又像做了一个噩梦。同时,也说明我们的食品安全问题任重而道远,想揭露事件的真相是很困难的,除非出现像安徽阜阳那种大事件,而所能揭露真相的比例占总数也是极少的。
事情是这样的。我全家(包括岳父岳母)都有吃奶粉的习惯。自2007年11月份开始,我在县城某超市陆续购得一批“三鹿”牌子的奶粉。经食用,首先发现生产日期及批号为2007/12/19 D 01 08的儿童高钙配方奶粉有如下现象:女儿晚睡前食用,次日晨起第一注小便排出,粘稠、呈淡黄色米汤状,还有细小颗粒沉淀,并偶有腹泻;停用即清,再食用又浊。再闻冲开之后的奶粉气味,似香不香;入口感觉淡涩、且有粉渣感。
开始,我以为买到假货了。出于公民义务,我将情况电话告知厂家服务热线。厂家叫我寄2包原封奶粉,送实验室检验。
我于2008年2 月25日,向河北石家庄三鹿集团股份有限公司寄出儿童高钙配方奶粉(生产日期及批号:2007/12/19 D 01 08)、中老年高钙配方奶粉(生产日期及批号:2007/12/29 D 02 37)各一包。
过了多天,我致电厂家,询问是否收到寄检奶粉?有无问题?请把检验结果传真给我。厂家承认收到,并证实是他们生产的产品,但没有跟我说有无质量问题,只是说地区代理商会跟我联系。
过了几天,地区代理商代表厂家果然和我联系,叫我把没吃完的退还或换货;还说次日来人回收或换货。我不同意。我首先要的是检验结果。如果没问题,孩子吃了为何有上述情形?如果有问题,是什么问题?为什么不让我知道结果?如果不能让我知道结果,你为什么要叫我寄检?我又何必寄检?我孩子吃了,出现一些反常现象,可以退还或换货,那其它人的孩子呢?
自称是厂家代表的人给我的答复是:《检验报告单》涉及商业秘密,不能给我,但是可以给我看(到目前为止我还没有看到)。还说他们的儿童奶粉只适合3-7岁儿童,我孩子超过7岁。但包装袋上却明明标着:适合3岁以上少年儿童食用。后来提出:吃到肚子里的就说不清楚了;剩余15包,11包退一换一,开掉的4包退一换二。这是什么逻辑?他这样说有道理吗?连自己的产品都不熟悉的人,他能是厂家代表吗?我还能跟他谈吗?
我只好向消协投诉。消协于3月27日下午联系了卖家(超市),买卖双方在县工商局直属工商所所四楼由消协工作人员主持调解。卖方确认是他们所销售商品,说厂家不出具检验结果他们也觉得莫名其妙,最多只能按原价回收我们所食剩余的奶粉。我不同意。觉得此举意义不大,厂家既然叫我寄检了,我也寄检了,我一定要先知道奶粉有无质量问题!谈话间,他们还透露:他们仓库里还有大批这样的奶粉;泰顺县最大的连锁幼儿园——育才幼儿园也用这种奶粉。听到这些,我更想知道这批奶粉有无质量问题了,而想知道有无质量问题?唯一的办法就是由公正的第三方(即工商部门)通过合法的程序抽样送检。但检验费用得由我先垫付,说全检要上万,等于我要花几十倍的钱去证实它。我犹豫了,说回去好好想想。双方没有谈拢,调解没有成功。
这到底是怎么回事?我又找厂家。想通过厂家解决问题。我给厂家发了电子邮件,内容如下。
“前段时间,我把奶粉寄你处检验的事。经与地区代理商和零售商多次协商,无果。现直接向你提出我的处理意见。
一、 要求寄我检验报告单。如果说涉及商业秘密,寄我检验结果,并加盖公章。也可。
二、 如合格。要求对所剩余的我认为有问题的奶粉进行退换,毕竟这一批次的产品在食用后出现了一些不正常现象。
三、 如果出于某种不可告人的原因,不能办到。我们即默认它为不合格。并按《食品卫生法》的相关规定处理。
四、 无论那种情况,如换货,为确保所换奶粉质量。我要求你部直接与我接洽,或由我指定商店退换。
五、 最后,双方签定调解协议,并通知消协。
上述五点妥否?请商榷。并尽快予以回复。”
但是厂家一直不做答复。后经思考,我觉得把奶粉寄送生产产家、让他们自己说有无问题,这一做法不妥。真理始于怀疑,而终于信仰。我就是把房子卖了,也要查明事情的原委、破解心中的疑惑。我于3月31日正式向县工商局直属工商所提出申请:为了天真的孩童,为了风烛残年的老者,为了更多的消费者,应该对这一批次有争议奶粉进行取样、并送权威部门检验。无论结果如何,对大家都是一件好事。
县工商局直属工商所的同志,在接到我的申请,并请示上级领导后,组织人员来到超市。结果发现慢了一步:前两天货架上满满当当的上述批次的奶粉(包括其它老包装的)一包也没了,全部变成了新包装的奶粉,仓库里也没有,全部不知所终!问超市的管理人员,说是不清楚。这次行动失败的原因主要是厂家确定是其生产,工商方面有些迟疑,在之前增加了调解程序;也是这个原因,没想到去超市会取不到样。
现在我手里的那堆奶粉就成孤证了。我看到那堆奶粉心里就郁闷:吃又不敢吃,扔掉又可惜、也不敢,换吧?又怕他们把类似原来那种质量的换给我。唉,身为人父、为人子的我该咋办呢?现在我只有寻求媒体的帮助了。
2、08年7月,已经有人国家质量监督检验检疫总局的网站上留言了http://203.208.37.104/search?q=cache:mT_G9ImnPd0J:spscjgs.aqsiq.gov.cn/gzly/lyhf/200807/t20080702_80945.htm+%E6%9F%A5%E8%AF%A2%E7%BC%96%E5%8F%B7%EF%BC%9A+%5B20080630-1622-25262%5D&hl=zh-CN&ct=clnk&cd=4&gl=cn&st_usg=ALhdy28t3ErCq-uBUO1K3x1BMxr7lljscQ
| |||||||||||||||||||||||||||||
Libnids开发包详细介绍
Libnids 是一个用于网络入侵检测开发的专业编程接口,它使用了Libpcap所以它具有捕获数据包的功能。同时,Libnids提供了TCP数据流重组功能,所以 对于分析基于TCP协议的各种协议Libnids都能胜任.Libnids还提供了对IP分片进行重组的功能,以及端口扫描检测和异常数据包检测功能。
Libnids数据结构
一.基本常量
1.报警类型
enum
{
NIDS_WARN_IP =1, //IP数据包异常
NIDS_WARN_TCP,//TCP数据包异常
NIDS_WARN_UDP,//UDP数据包异常
NIDS_WARN_SCAN//表示有扫描攻击发生
}
enum
{
NIDS_WARN_UNDEFINED=0, //表示未定义
NIDS_WARN_IP_OVERSIZED.//表示IP数据包超长
NIDS_WARN_IP_INVLIST,//表示无效的碎片队列
NIDS_WARN_IP_OVERLAP,//表示发生重叠
NIDS_WARN_IP_HDR,//表示无效IP首部,IP数据包发生异常
NIDS_WARN_IP_SRR,//表示源路由IP数据包
NIDS_WARN_TCP_TOOMUCH,//表示tcp数据个数太多,因为在libnids中在同一时刻捕获的tcp个数最大值为tcp连接参数的哈希表长度3/4
NIDS_WARN_TCP_HDR,//表示无效TCP首部,TCP数据包发生异常
NIDS_WARN_TCP_BIGAQUEUE,//表示TCP接收的队列数据过多
NIDS_WARN_TCP_BADFLAGS//表示错误标记
}
2.Libnids状态
在对TCP数据流进行重组时,必须考虑到TCP的连接状态,在Libnids中为了方便开发而定义了6种Libnids状态(描述的是连接的逻辑状态)
#define NIDS_JUST_EST 1//表示tcp连接建立
#define NIDS_DATA 2 //表示接受数据的状态
#define NIDS_CLOSE 3 //表示tcp连接正常关闭
#define NIDS_RESET 4 //表示tcp连接被重置关闭
#define NIDS_TIMED_OUT 5 //表示由于超时tcp连接被关闭
#define NIDS_EXITING 6 //表示libnids正在退出
真正的TCP连接状态有11种
enum
{
TCP_ESTABLISHED=1, //表示ESTABLISH状态,TCP连接建立,开始传输数据
TCP_SYN_SENT,//表示syn_sent状态,主动打开
TCP_SYN_RECV,//表示syn_recv状态,接收SYN
TCP_FIN_WAIT1,//表示FIN_WAIT_1状态
TCP_FIN_WAIT2,//表示FIN_WAIT2状态
TCP_TIME_WAIT//表示TIME_WAIT状态
TCP_ClOSE,//表示Closed状态
TCP_CLOSE_WAIT,//表示CLose_WAIT状态
TCP_LAST_ACK,//表示LAST_ACK状态
TCP_LISTEN,//表示LISTEN状态
TCP_CLOSING//表示CLOSING 状态
}
3.校验和,与此相关的常量定义如下:
#define NIDS_DO_CHKSUM 0 //表示告诉Libnids要计算校验和
#define NIDS_DONT_CHKSUM 1//表示告诉LIbnids不需要计算校验和
二。数据结构
1.tuple4:此数据结构是Libnids中最基本的一种数据结构
struct tuple4
{
u_short source;//源端口
u_short dest;//目标端口
u_int saddr; //源IP
u_int daddr;//目的IP
};//用于描述一个地址端口对,它表示发送方IP和端口以及接收方IP和端口
2.half_stream:此数据结构用来描述在tcp连接中一端的所有信息,可以使客户端也可以是服务端。
struct half_stream
{
char state;//表示套接字的状态,也就是tcp连接状态
char collect;//表示是否存储数据到data中,如果大于0就存储,否则忽略
char collect_urg;//是否存储紧急数据到urgdata中,如果大于0就存储,否则忽略
char *data;//存储正常接收的数据
int offset;//存储在data中数据的第一个字节的偏移量
int count;//表示从tcp连接开始已经存储到data中的数据的字节数
int count_new;//表示有多少新数据寸到data 中
int bufsize;//
int rmem_alloc;
int urg_count;
u_int acked;
u_int seq;
u_int ack_seq;
u_int first_data_seg;
u_char urgdata;//用来存储紧急数据
u_char count_new_urg;//表示是否有新的紧急数据到达
u_char urg_seen;
u_int urg_ptr;
u_short window;
u_char ts_on;
u_int curr_ts;
struct skbuff *list;
struct skbuff *listtail;
}
3.tcp_stream:描述的是一个TCP连接的所有信息
struct tcp_stream
{
struct tuple4 addr;//是一个tuple4类型的成员,它表示一个tcp连接的四个重要信息
char nids_state;//表示逻辑连接状态
struct lurker_node *listeners;
struct half_stream client;
struct half_stream server;
struct tcp_stream *next_node;
struct tcp_stream *prev_node;
int hash_index;
struct tcp_stream *next_time;
struct tcp_stream *prev_time;
int read;
struct tcp_stream *next_free;
};//描述了一个TCP连接的完整信息
4.nids_prm:描述libnids的一些全局参数信息
struct nids_prm
{
int n_tcp_streams;//表示哈西表大小,此哈西表用来存放tcp_stream数据结构,
int n_hosts;//表示存放ip碎片信息的哈西表的大小
char *device;
char *filename;//用来存储网络数据捕获文件.如果设置了文件,与此同时就应该设置成员device为null,默认值为NULL
int sk_buff_size;//表示数据结构sk_buff的大小.数据结构sk_buff是linux内核中一个重要的数据结构,是用来进行数据包队列操作的
int dev_addon;//表示在数据结构sk_buff中用于网络接口上信息的字节数,如果是-1(默认值),那么libnids会根据不同的网络接口进行修正
void (*syslog)();//函数指针,默认值为nids_syslog()函数.在syslog中可以检测入侵攻击,如:网络扫描攻击
函数定义类型为nids_syslog(int type,int errnum,struct ip_header * iph,void *data)
int syslog_level;//表示日志等级,默认值为LOG_ALERT.
int scan_num_hosts;//表示存储端口扫描信息的哈西表的大小
int scan_delay;//表示在扫描检测中,两端口扫描的间隔时间
int scan_num_ports;//表示相同源地址必须扫描的tcp端口数目
void (*no_mem)(char *);//当libnids发生内存溢出时被调用
int (*ip_filter)();//函数指针,此函数可以用来分析ip数据包,当有ip数据包到达时,此函数被调用.默认值为nids_ip_filter,该函数的定义如下:
static int nids_ip_filter(struct ip * x,int len)
char *pcap_filter;//表示过滤规则
int promisc;//表示网卡模式,非0为混杂模式,否则为非混杂模式,默认值为1
int one_loop_less;//表示捕获数据返回的时间,以豪秒计算.默认值为1024
int pcap_timeout;
};
在Libnids中用nids_prm数据结构定义了一个全局变量nids_params,其定义和初始值如下:
struct nids_prm nids_params={
1040,//n_tcp_streams
256,//n_hosts
NULL,//device
NULL,//filename
168,//sk_buff_size
-1,//dev_addon
nids_syslog,//syslog()
LOG_ALERT,//syslog_level
256,//scan_num_hosts
3000,//scan_delay
10,//scan_num_prots
nids_no_mem,//no_mem()
nids_ip_filter,//ip_filter
NULL,//pcap_filter
1,//promisc
0,//one_loop_less
1024//pcap_timeout
}在使用Libnids开发程序时,可以首先对nids_params全局变量的值进行修改,这样对整个Libnids就全部有效
5.nids_chksum_ctl:描述的是计算校验和
struct nids_chksum_ctl
{
u_int netaddr;
u_int mask;
u_int action;//表示动作,如果是NIDS_DO_CHKSUM,表示要计算校验和;如果是NIDS_DONT_CHKSUM表示不计算校验和
u_int reserved;
}
三.Libnids函数
1.基本函数
(1)int nids_init(void);//对libnids进行初始化
(2)void nids_run(void);//运行Libnids,进入循环捕获数据包状态.
(3)int nids_getfd(void);//获得文件描述号
(4)int nids_dispatch(int cnt)//功能是调用Libpcap中的捕获数据包函数pcap_dispatch().
(5)int nids_next(void)//调用Libpcap中的捕获数据包函数pcap_next()
(6)void nids_register_chksum_ctl(struct nids_chksum_ctl *ptr,int nr)//决定是否计算校验和,它是根据数据结构nids_chksum_ctl中的action进行决定的
2.IP碎片函数
(1)void nids_register_ip_frag(void(*))//此函数的功能是注册一个能够检测所有IP数据包的回调函数,包括IP碎片
eg:nids_register_ip_frag(ip_frag_function);
这样就定义了一个回调函数ip_frag_function的定义类型如下:
void ip_frag_function(struct ip *a_packet,int len)
(2)void nids_register_ip(void(*))//此函数定义一个回调函数,此回调函数可以接受正常的IP数据包,eg:
nids_register_ip(ip_function);
此回调函数的定义类型如下:
void ip_function(struct ip * a_packet)
3.TCP数据流重组函数
(1)void nids_register_tcp(void(*))
回调函数的功能是注册一个TCP连接的回调函数,回调函数的类型定义如下:
void tcp_callback(struct tcp_stream *ns,void **param);
其中参数ns表示一个tcp连接的所有信息,它的类型是tcp_stream数据结构;参数param表示要传递的连接参数信息,可以指向一个TCP连接的私有数据
(2)void nids_killtcp(struct tcp_stream * a_tcp)//此函数功能是终止TCP连接
(3)void nids_discard(struct tcp_stream *a_tcp,int num)//丢弃num字节TCP数据,用于存储更多的数据
4.UDP注册函数
(1)void nids_register_udp(void(*));
此函数的功能注册一个分析UDP协议的回调函数,回调函数的类型定义如下:
void udp_callback(struct tuple4 *addr,char *buf,int len,struct ip * iph);
其中参数addr表示的是端口的信息,参数buf表示UDP协议负载数据内容,参数len 表示UDP负载数据的长度;参数iph表示一个IP数据包,包括IP首部,UDP首部以及UDP负载内容
利用Libnids开发的流程
用函数nids_init()进行初始化。
然后注册相应的回调函数。不同的回调函数实现不同的功能
最后利用函数nids_run()进入循环捕获数据包的状态。
新工作第一周
新单位不大,但是工作环境还不错,至少没有原来办公室头顶的空调噪音,报到的第一天,两个领导都出差去了,所以也没有人安排工作,基本上无事,自己重做了一个系统,看了看以后要维护的代码。
在十号线没有开通前,现在比较头疼的是交通问题。这个星期尝试了公交+城铁+公交,自行车+城铁+公交,11路+城铁+公交(回来坐公交)和全程自行车,第一种方式时间很不可靠,从小区只能坐公交到龙泽上车,龙泽站的人实在太多,要用半个小时才能上车,再不能这样干了,第二种方式可以接受,用时1个小时,自行车方式时间最快40分钟吧,天气凉快是个不错的选择。
公司所在大厦楼下是一个购物街,还有电影院,上班的时候楼下还没有开门营业,下班时从一楼走过能闻到从各个咖啡店里飘出来的香味。
当爸爸了,准备换工作了。
有段时间没有更新这个博客了,月初一个猎头推荐了一个职位,过去谈了谈,面试的题目不难,应该全部都做对了,面试的两个人中其中有一个在上一个家曾在项目中接触过,所以很顺利谈下来了,第二天和副总聊聊,我开的也不高,别人没有什么问题,就发offer了,工资比现在没有多很多,不过是一个新的类型产品,而且公司的上班环境看起来还不错,所以决定跳过去了。相信新的工作还是能够胜任的,最近能在新的单位有些事业上的突破。
新单位要求我7月初去上班,可是老婆的预产期是月初,弄得我有点难受,不过很多事情都是不好说的,这不上周五陪老婆去产检,胎心监护不理想,医生建议住院,我们想估计也就观察两天就回去了,没有想到周六上午就生了,是个女孩,5.4斤,我升级为爸爸了。现在正在家休陪产假,休完假就准备回去办离职手续了。
为了记录小女成长历程,早早在老婆怀孕的时候就建立了一个blog(http://blog.sina.com.cn/mylife365)看着她,觉得自己真幸福,不过老婆最近可幸苦了,虽然孩子睡在自己的床上,但是她睡觉经常喜欢做怪样子,嘴里发出点奇怪的声音。只有她一动,老婆醒了,这样每天晚上都睡得很不好。
创维6D72机芯进入工程模式修改开机模式
前一阵家里装了机顶盒,多了很多台,虽然是免费送的最普通的机顶盒,但是很多台效果还是很不错的,这是后话,今天说的是另外一个问题,为了响应国家提出的节能减排的号召,晚上电视都是关的,但第二天开机,电视默认还是原来的TV,而不是AV,由于电视上没有信号,突然出现雪花点,然后还得切换到S端子才能看电视,很是麻烦,找了电视所有菜单没有找到设置的地方,于是想到了工程模式,关于如何进入工程模式可以参考我之前写的一篇文章:http://aomeng.bokee.com/2346832.html ,通过减小电视面板上的音量到最小,然后长按遥控器上的静音键,进入工程模式,然后按“菜单”进入eprom 模式,调整寄存器地址到007就是开机模式,该值第二位为1后就是AV记忆模式,我家的机器该地址值为14,我把该值改为16( 00100110),这样关机的时候在AV,开机就回到AV模式了。然后按待机退出工程模式,测试了一下OK了。该方法是从网上找到一个寄存器清单才搞定了。不懂位操作的请勿操作,防止电视烧毁。
PS铅笔画漫画效果
今天学到一个PS铅笔画的漫画效果,还不一样。看看
这些原图:

这是PS之后的:

再找一个去年去圆明园看荷花的照片PS一下.

2008北京车展
早几个星期前参加太平洋网站的活动,免费得到一张车展门票,所以早就计划周六去看车展,我去看车展主要是看美女,还有名车,车展最大的好处是免费的车模随便拍,为了出好片子,特意买了一个银燕外闪灯。为了避免堵着路上,早上7点就出门了,坐车到天通苑北,然后坐车展大巴20分钟,9点之前就到车展了,10点半才有人送门票来,所以先看看南门前的卡车、房车、加长车、还有救护车、带天梯的车。这类车在上次车展上没有看到,拿到票后,8个展厅依次走马观花的逛了一遍,不过2500万的车没有看到,E4馆人太多了,根本走不动,放弃了,看到了劳斯莱斯也不错。

更多照片:http://dp.pconline.com.cn/photoblog/page.do?method=photoPage&from=photoblog&pid=434080
又是一年三月三
三月了,可以出去放风筝了,这个月我家阳台外的柳树会长新枝,草皮重回绿色,春天慢慢来了,该想办法出去活动了。
附小时候听过的歌一首。
又是一年三月三
苏红
又是一年三月三
风筝飞满天
牵着我的思念和梦幻
走回到童年
记得那年三月三
一夜难合眼
望着墙角糊好的风筝
不觉亮了天
叫醒村里的小伙伴
一同到村边
怀抱画着小鸟的风筝
人人笑开眼
抓把泥土试试风
放开长长的线
风筝带着天真的笑声
和白云去做伴
记得那年三月三
一夜难合眼
望着墙角糊好的风筝
不觉亮了天
如今每逢春风暖
常念三月三
还有画着小鸟的风筝
和那小伙伴
风筝懂得我的心
朝我把头点
牵着我的思念和梦幻
永把我陪伴
风筝懂得我的心
朝我把头点
牵着我的思念和梦幻
永把我陪伴
啦啦……
08年会,水立方夜景
昨日(2月18日)公司在国际会议中心开了08年的年会,会议的流程和往年一样,领导讲个话,然后优秀员工颁奖,然后表演节目,然后抽奖,最后吃饭。我比较感兴趣的是能不能抽中奖,可惜差不多50%的中奖率也没有轮到我,等特等奖抽出来,就撤了,沿着四环溜达时,发现旁边的奥运村的水立方亮灯了,由于奥运村的围挡还没有拆除,所以走了好久才找到一个立交桥的高处看到水立方的全景,确实很漂亮。旁边的鸟巢晚上没有亮灯,可能还没有建设好。



2008年第一天
2008年的第一年,三天假的最后一天,早上看外面风很小,考虑到昨天一天没有出家门,今天决定出门,午饭准备在外面解决,老婆想吃热干面,那么就去九头鸟吧,西三旗的九头鸟改为了好运酒家,不准备去那里,还是去上地那边的九头鸟,下了楼,抬头看天真蓝,出了小区门才发现风其实不小,只是吹的正北方,坐车到上地桥,先去花卉市场逛了逛,因为我们家养了很多次花都没有养活,所以只是看看,看着到了过了11点,吃饭的地方该开始营业了,就过去解决肚子问题了,点了热干面,臭干子,豆皮,面窝,蒸丸子等,全是地道的湖北菜和小吃,吃得很爽,可能是过节的原因,我们刚进去的时候,还没有什么人吃饭,刚上了第一个菜,位置全坐满了,等我们走的时候,已经有人来抢座位了,看来以后出来吃饭还是早出门,不然就要排队。
回小区的时候,色了几张,天真蓝呀!



