00001 /***************************************************************************** 00002 * Copyright 2005 Daniel Ferullo * 00003 * * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); * 00005 * you may not use this file except in compliance with the License. * 00006 * You may obtain a copy of the License at * 00007 * * 00008 * http://www.apache.org/licenses/LICENSE-2.0 * 00009 * * 00010 * Unless required by applicable law or agreed to in writing, software * 00011 * distributed under the License is distributed on an "AS IS" BASIS, * 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 00013 * See the License for the specific language governing permissions and * 00014 * limitations under the License. * 00015 * * 00016 *****************************************************************************/ 00017 00018 /** 00019 * @file spoof.h 00020 * @author Daniel Ferullo (ferullo@cmu.edu) 00021 * 00022 * @brief functions to spoof/forge tcp/ip packets 00023 */ 00024 00025 #ifndef __SPOOF_H__ 00026 #define __SPOOF_H__ 00027 00028 #include "errorcodes.h" 00029 #include "def.h" 00030 00031 /** 00032 * @brief spoofs a tcp packet 00033 * 00034 * @param tcp_hdr the tcp_packet_info_t with the essential information to spoof * a tcp packet based on. 00035 * @param device the device to spoof on 00036 * @param payload pointer to the payload of the packet. if NULL then no payload 00037 * @param payload_len the length of the payload 00038 * @param ttl the TTL to use on the spoofed packets 00039 * 00040 * @return SUCCESS, errorcode on failure 00041 */ 00042 errorcode spoof(tcp_packet_info_t *tcp_hdr, char *device, void *payload, 00043 unsigned long payload_len, short ttl); 00044 00045 #endif /* __SPOOF_H__ */ 00046