繼續研究,這幾天看代碼看得頭暈腦脹。 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
那一切就很簡單分析了。
~~~~~~~~~~~~~~~~~~~~~~~