2007年10月03日 星期三 16:17
比较通用的方法是TCP窗口 你抓取对方的TCP连接数据包,然后给双方发送无数据字段的ACK数据包,把TCP窗口设置的很小就是了,甚至可以用0字节的窗口让他们先休息一下。同时,使用pcap的统计功能计算对方的上下行速度,自己选择合适的时候发这些限速用的窗口包就是了。 当然实际应用中还有很多需要照顾到的细节,包括交换机欺骗等等。你慢慢调试吧。 在抓包方面无疑pypcap是最推荐的,python发包可以用 sendpkt ( http://sendpkt.googlecode.com/ )。 这里有一篇介绍sendpkt的帖子(http://gashero.yeax.com/?p=26),至于pypcap的帖子很多。另外,dpkt是必须要学的。 至于udp限速则很困难,除非你做ARP欺骗,直接drop掉他的很多数据包,否则udp这么简陋的协议是没有流量控制的。
Zeuux © 2025
京ICP备05028076号