in dolisten , socket nnetfd = 1852.
z = ntohs (remend->sin_port);
fprintf(stderr,"remend->sin_port = %d \n",z);
strcpy (bigbuf_net, inet_ntoa (remend->sin_addr));
fprintf(stderr,"bigbuf_net = %s \n",bigbuf_net);
whozis = gethostpoop (bigbuf_net, o_nflag);
errno = 0;
x = 0; /* use as a flag... */
if (rad)
if (memcmp (rad, whozis->iaddrs, sizeof (SA)))
x = 1;
if (rp)
if (z != rp)
x = 1;
if (x) /* guilty! */
bail ("invalid connection to [%s] from %s [%s] %d",
cp, whozis->name, whozis->addrs[0], z);
holler ("connect to [%s] from %s [%s] %d", /* oh, you're okay.. */
cp, whozis->name, whozis->addrs[0], z);
fprintf(stderr,"in dolisten , socket nnetfd = %d.\n",nnetfd);
return (nnetfd); /* open! */
调试二(无变化,既rad和rp都是null)
if (rad)
if (memcmp (rad, whozis->iaddrs, sizeof (SA)))
x = 1;
if (rp)
if (z != rp)
x = 1;
改为:
if (rad){
if (memcmp (rad, whozis->iaddrs, sizeof (SA)))
x = 1;
fprintf(stderr,"in dolisten rad not null \n");
}
if (rp){
if (z != rp)
x = 1;
fprintf(stderr,"in dolisten rp not null \n");
}
实验三:nc -vlp 66 [192.168.1.4]
nc 192.168.1.4 66 [192.168.1.3]
remend->sin_port = 49336
bigbuf_net = 192.168.1.3
connect to [192.168.1.4] from TYGHBN [192.168.1.3] 49336
in dolisten , socket nnetfd = 1852.
可见,加上-v选项,whoisit会显示出双方连接的情况。
本地地址,from后是对方的主机名,ip地址,及端口号。