Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15485357
  • 博文数量: 112
  • 博客积分: 11195
  • 博客等级: 上将
  • 技术积分: 1989
  • 用 户 组: 普通用户
  • 注册时间: 2005-06-20 11:04
文章分类

全部博文(112)

文章存档

2013年(2)

2012年(27)

2011年(6)

2010年(11)

2009年(6)

2007年(7)

2006年(23)

2005年(30)

分类: Python/Ruby

2010-08-12 12:21:26

pypcap万年没有维护不说,效率还很差,并且打包也不方便,通用性差。
程序如下:

import socket
import struct


HOST = socket.gethostbyname(socket.gethostname())
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
s.bind((HOST, 0))
s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)


buf = s.recvfrom(65565)
src_ip = "%d.%d.%d.%d"%struct.unpack('BBBB', buf[0][12:16])
dest_ip ="%d.%d.%d.%d"%struct.unpack('BBBB', buf[0][16:20])
print src_ip, dest_ip
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)


阅读(22841) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

Lokeyy2015-04-11 23:57:52

能解释下代码的含义吗

yzqfunit2011-07-07 13:57:52

非常不错,学习了!