Tcpdump源码分析系列3:main函数继续研究

继续研究,这几天看代码看得头晕脑胀。 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

那一切就很简单分析了。

~~~~~~~~~~~~~~~~~~~~~~~

相关文章
相关标签/搜索