| With the continuous development of Internet, network has become an indispensable part in people's daily life. As one of the most useful tools supplied by Internet, E-mail provides a very big advantage to people's work and life, and even changes the way of people's living. But at same time it also brings us a very big problemn - junk mails, which may give Internet users, network administrators and ISPs endless annoyance and great loss.Now, market offers a rich supply of different kinds of anti-spam systems, but all of these products, either their functions are simple, do not have a good extension, or rich in function but very expensive, are full with problems. So the requirement of creating an effective, useful junk mail filtering system which can resolve these problems easily has become a very urgent issue.This thesis uses a project finished by author during the intern as a base, firstly, introduces junk mail related theories and some technologies and frameworks which provided by Linux OS and will be used in developing the filtering system briefly and across the board. And then analyzes the whole work flow of this system carefully, and uses this as a foundation, put forward a overall plan and design on Linux-based junk mail filtering system. The content of this thesis just include the parts which designed and implemented by author himself, such as the algorithm of network IP packets' holding up, filtering and restoring email letter and relative interaction information from original packets, besides, thesis also describes the using of multithreading technology in filtering system, but for the filtering technology part, here only discusses some traditional technologies such as address check, Multi-Send tools check and accessory virus check.During designing of the junk mail filtering system, keeping the working follow and organization both clear have become the first rule, and under this concept, this system has been carved up in three subsystems: lower engine subsystem, anti-spam subsystem and Anti-DDoS subsystem. Every such subsystem has a couple of different functional modules. This thesis discusses the structure and constitutes of the system in detail, and elucidates the designs and implementations of all the functional modules. During this process, author especially focuses on analysis of functional principles and core algorithms which may be demonstrated by some source codes. |