📄 libnet-functions.h
字号:
u_char, /* Original TTL */ u_char, /* Original Protocol */ u_long, /* Original Source IP Address */ u_long, /* Original Destination IP Address */ const u_char *, /* Pointer to original packet data (or NULL) */ int, /* Packet payload size (or 0) */ u_char * /* Pointer to packet header memory */ );/* * ICMP_TIMXCEED packet assembler. */int /* -1 on failure (null buf passed in), 1 on success */libnet_build_icmp_timeexceed( u_char, /* icmp type */ u_char, /* icmp code */ u_short, /* Original Length of packet data */ u_char, /* Original IP tos */ u_short, /* Original IP ID */ u_short, /* Original Fragmentation flags and offset */ u_char, /* Original TTL */ u_char, /* Original Protocol */ u_long, /* Original Source IP Address */ u_long, /* Original Destination IP Address */ const u_char *, /* Pointer to original packet data (or NULL) */ int, /* Packet payload size (or 0) */ u_char * /* Pointer to packet header memory */ );/* * ICMP_TIMESTAMP packet assembler. */int /* -1 on failure (null buf passed in), 1 on success */libnet_build_icmp_timestamp( u_char, /* icmp type */ u_char, /* icmp code */ u_short, /* id */ u_short, /* sequence number */ n_time, /* original timestamp */ n_time, /* receive timestamp */ n_time, /* transmit timestamp */ const u_char *, /* Pointer to packet data (or NULL) */ int, /* Packet payload size */ u_char * /* Pointer to packet header memory */ );/* * IGMP packet assembler. */int /* -1 on failure (null buf passed in), 1 on success */libnet_build_igmp( u_char, /* igmp type */ u_char, /* igmp code */ u_long, /* ip addr */ const u_char *, /* Pointer to packet data (or NULL) */ int, /* Packet payload size */ u_char * /* Pointer to packet header memory */ );/* * IPv4 packet assembler. */int /* -1 on failure (null buf passed in), 1 on success */libnet_build_ip( u_short, /* Length of packet data */ u_char, /* IP tos */ u_short, /* IP ID */ u_short, /* Fragmentation flags and offset */ u_char, /* TTL */ u_char, /* Protocol */ u_long, /* Source IP Address */ u_long, /* Destination IP Address */ const u_char *, /* Pointer to packet data (or NULL) */ int, /* Packet payload size */ u_char * /* Pointer to packet header memory */ );int /* -1 on failure (null buf passed in), 1 on success */libnet_build_ipv4( u_short, /* Length of packet data */ u_char, /* IP tos */ u_short, /* IP ID */ u_short, /* Fragmentation flags and offset */ u_char, /* TTL */ u_char, /* Protocol */ u_long, /* Source IP Address */ u_long, /* Destination IP Address */ const u_char *, /* Pointer to packet data (or NULL) */ int, /* Packet payload size */ u_char * /* Pointer to packet header memory */ );/* * DNS pacekt assembler. */int /* -1 on failure (null buf passed in), 1 on success */libnet_build_dns( u_short, /* Packet ID */ u_short, /* Flags */ u_short, /* Number of questions */ u_short, /* Number of answer resource records */ u_short, /* Number of authority resource records */ u_short, /* Number of additional resource records */ const u_char *, /* Payload (or NULL) */ int, /* Payload size */ u_char * /* Header memory */ );/* * RIP packet assembler. */int /* -1 on failure (null buf passed in), 1 on success */libnet_build_rip( u_char, /* Command */ u_char, /* Version */ u_short, /* Zero (v1) or Routing Domain (v2) */ u_short, /* Address family */ u_short, /* Zero (v1) or Route Tag (v2) */ u_long, /* IP address */ u_long, /* Zero (v1) or Subnet Mask (v2) */ u_long, /* Zero (v1) or Next hop IP address (v2) */ u_long, /* Metric */ const u_char *, /* Payload (or NULL) */ int, /* Payload size */ u_char * /* Header memory */ );/* * VRRP packet assembler. */int /* -1 on failure (null buf passed in), 1 on success */libnet_build_vrrp( u_char, u_char, u_char, u_char, u_char, const u_char *, /* Payload (or NULL) */ int, /* Payload size */ u_char * /* Header memory */ );intlibnet_init_vrrp_packet(size_t, u_char **, u_char );/* * Insert IP options to a prebuilt IP packet. */int /* 1 on success, -1 on failure */libnet_insert_ipo( struct ipoption *, /* Pointer to the ip options structure */ u_char, /* IP option list size */ u_char * /* Pointer to packet buf */ );/* * Insert TCP options to a prebuilt IP packet. */int /* 1 on success, -1 on failure */libnet_insert_tcpo( struct tcpoption *, /* Pointer to the tcp options structure */ u_char, /* TCP option list size */ u_char * /* Pointer to packet buf */ );/* * Writes a prebuild IP packet to the network with a supplied raw socket. * To write a link layer packet, use the write_link_layer function. */int /* number of bytes written if successful, -1 on error */libnet_write_ip( int sock, /* Previously opened raw socket */ u_char *, /* Pointer a complete IP datagram */ int /* Packet size */ );/* * Writes a prebuild IP/ethernet packet to the network with a supplied * link_layer interface. To write just an IP packet, use the write_link_layer * function. */int /* number of bytes written if successful, -1 on error */libnet_write_link_layer( struct libnet_link_int *, /* Pointer to a link interface structure */ const char *, /* Pointer to the device */ u_char *, /* Pointer the u_char buf (the packet)to be written */ int /* Packet length */ );/* * Opens a link layer interface. Analogous to open_raw_sock. */struct libnet_link_int * /* Pointer to a link layer interface struct */libnet_open_link_interface( char *, /* Device name */ char * /* Error buffer */ );int /* 1 on success, -1 on failure */libnet_close_link_interface( struct libnet_link_int * /* Pointer to a link layer interface struct */ );char * /* String error message */ll_strerror( int /* Errno */ );/* * Returns the IP address of the interface. */u_long /* 0 upon error, address upon success */libnet_get_ipaddr( struct libnet_link_int *, /* Pointer to a link interface structure */ const char *, /* Device */ char * /* Error buf */ );/* * Returns the MAC address of the interface. */struct ether_addr * /* 0 upon error, address upon success */libnet_get_hwaddr( struct libnet_link_int *, /* Pointer to a link interface structure */ const char *, /* Device */ char * /* Error buf */ );/* * Simple interface for initializing a packet. * Basically a malloc wrapper. */int /* -1 on error, 1 on ok */libnet_init_packet( int, /* 0 and we make a good guess, otherwise you choose. */ u_char ** /* Pointer to the pointer to the packet */ ); /* * Simple interface for destoying a packet. * Don't call this without a corresponding call to init_packet() first. */int /* -1 if arena is NULL, 1 if ok */libnet_destroy_packet( u_char ** /* Pointer to the packet addr. */ );/* * Memory pool initialization routine. */intlibnet_init_packet_arena( struct libnet_arena **, /* Pointer to an arena pointer */ int, /* 0 and we make a good guess, otherwise you choose. */ u_short );/* * Returns the next chunk of memory from the pool. */u_char *libnet_next_packet_from_arena( struct libnet_arena **, /* Pointer to an arena pointer */ int /* 0 and we make a good guess, otherwise you choose. */ );/* * Memory pool destructor routine. */int /* -1 if arena is NULL, 1 if ok */libnet_destroy_packet_arena( struct libnet_arena ** /* Pointer to an arena pointer */ );/* * More or less taken from tcpdump code. */voidlibnet_hex_dump( u_char *, /* Packet to be dumped */ int, /* Packet size (in bytes */ int, /* To swap or not to swap */ FILE * /* Stream pointer to dump to */ );#endif /* __LIBNET_FUNCTIONS_H *//* EOF */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -