继续研究,这几天看代码看得头晕脑胀。 tcp
cnt = -1;
//设置为-1
device = NULL;
//设置为NULL
infile = NULL;
//设置为NULL
RFileName = NULL;
//设置为NULL
VFileName = NULL;
//设置为NULL
VFile = NULL;
//设置为NULL
WFileName = NULL;
//设置为NULL
dlt = -1;
//设置为NULL 进程
~~~~~~~~~~~~~~~ get
if ((cp = strrchr(argv[0], '/')) != NULL)
program_name = cp + 1;
else
program_name = argv[0];
//指向进程名
//自定义检查点: 1 2 3
if (abort_on_misalignment(ebuf, sizeof(ebuf)) < 0)
error("%s", ebuf);
//自定义检查点: 1 2 3 it
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ file
while (
(op = getopt(argc, argv, "aAb" B_FLAG "c:C:d" D_FLAG "eE:fF:G:hHi:" I_FLAG j_FLAG J_FLAG "KlLm:M:nNOpqr:Rs:StT:u" U_FLAG "V:vw:W:xXy:Yz:Z:")
) != -1)的做用是对参数进行分析提取。 gc
~~~~~~~~~~ error
case 'a':
/* compatibility for old -a */
break;
//若是是a--->break;
//自定义检查点: 1 2 3
case 'A':
++Aflag;
break;
//设置Aflag增长1
//自定义检查点: 1 2 3
case 'b':
++bflag;
break;
//自定义检查点: 1 2 3
top
这也没啥好讲的,很简单! vi
其实下面都是些参数,假设咱们启动tcpdump,并且不带任何参数, while
那一切就很简单分析了。
~~~~~~~~~~~~~~~~~~~~~~~