1、tcpdump -vv -i ethN -s 10240 -w /root/abc.cap host ip
2、上述命令中,ethN,是你要抓的本机网卡,一般是eth0,可使用ifconfig查看使用的哪个网卡
-s 指定的是抓包数量 -w指定的是抓到的包写到哪个位置 host ip即为抓取哪个ip 的包
查看一下《linux就该这么学》
你用SOCK_RAW的模式建立原始套接字然后接收包。剩下的就全是分析内容的事情了。。。。最多再用一下多线程。
用到linux下socket编程的最基本知识, 以及对网络协议细节的了解。 前者随便找本socket编程的书就很详细了, 后者你因该懂。
——————
例如, 你需要include以下这些头:
stdio.h,stdlib.h, unistd.h, sys/socket.h, sys/types.h, netinet/if_ether.h, netinet/in.h,
然后建立socket的时候用
socket(PF_PACKET,SOCK_RAW,htons(ETH_P_IP)),这样就能用这个socket来监听以太网的包。
然后循环调用recvfrom函数来听这个socket的接受到的数据, 再分析就好了。
如果要嗅探别人机器的包, 就要用ARP欺骗了。。呵呵
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)