Annotation of embedaddon/hping2/logicmp.c, revision 1.1.1.1
1.1 misho 1: /*
2: * $smu-mark$
3: * $name: logicmp.c$
4: * $author: Salvatore Sanfilippo <antirez@invece.org>$
5: * $copyright: Copyright (C) 1999 by Salvatore Sanfilippo$
6: * $license: This software is under GPL version 2 of license$
7: * $date: Fri Nov 5 11:55:48 MET 1999$
8: * $rev: 8$
9: */
10:
11: #include <stdio.h>
12: #include <sys/types.h> /* this should be not needed, but ip_icmp.h lacks it */
13:
14: #include "hping2.h"
15: #include "globals.h"
16:
17: void log_icmp_timeexc(char *src_addr, unsigned short icmp_code)
18: {
19: switch(icmp_code) {
20: case ICMP_EXC_TTL:
21: printf("TTL 0 during transit from ip=%s", src_addr);
22: break;
23: case ICMP_EXC_FRAGTIME:
24: printf("TTL 0 during reassembly from ip=%s", src_addr);
25: break;
26: }
27: if (opt_gethost) {
28: char *hostn;
29:
30: fflush(stdout);
31: hostn = get_hostname(src_addr);
32: printf("name=%s", (hostn) ? hostn : "UNKNOWN");
33: }
34: putchar('\n');
35: }
36:
37: void log_icmp_unreach(char *src_addr, unsigned short icmp_code)
38: {
39: static char* icmp_unreach_msg[]={
40: "Network Unreachable from", /* code 0 */
41: "Host Unreachable from", /* code 1 */
42: "Protocol Unreachable from", /* code 2 */
43: "Port Unreachable from", /* code 3 */
44: "Fragmentation Needed/DF set from", /* code 4 */
45: "Source Route failed from", /* code 5 */
46: NULL, /* code 6 */
47: NULL, /* code 7 */
48: NULL, /* code 8 */
49: NULL, /* code 9 */
50: NULL, /* code 10 */
51: NULL, /* code 11 */
52: NULL, /* code 12 */
53: "Packet filtered from", /* code 13 */
54: "Precedence violation from", /* code 14 */
55: "precedence cut off from" /* code 15 */
56: };
57:
58: if (icmp_unreach_msg[icmp_code] != NULL)
59: printf("ICMP %s ip=%s", icmp_unreach_msg[icmp_code], src_addr);
60: else
61: printf("ICMP Unreachable type=%d from ip=%s",
62: icmp_code, src_addr);
63:
64: if (opt_gethost) {
65: char *hostn;
66:
67: fflush(stdout);
68: hostn = get_hostname(src_addr);
69: printf("name=%s", (hostn) ? hostn : "UNKNOWN");
70: }
71: putchar('\n');
72: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>