亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? net.c

?? 44b0的arp 掃描工具
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* Debug option: reverse the order in which IP fragments are sent */
#define SUBFIRST 0  /* Set non-zero to transmit subframes first */
/* Debug options to drop frames on transmit or receive */
#define TXDROP  0   /* Set non-zero to drop 1-in-N transmit frames */
#define RXDROP  0   /* Set non-zero to drop 1-in-N receive frames */

/* All drivers are supported under Borland C
** Packet driver isn't supported under Visual C
** Packet and SLIP drivers aren't supported under DJGPP */
#ifdef __BORLANDC__
#define PKTD_SUPPORT  1
#else
#define PKTD_SUPPORT  0
#endif
#ifdef DJGPP
#define SLIP_SUPPORT 0
#else
#define SLIP_SUPPORT 1
#endif

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

/* Override the default circular buffer size used in TCPFS.H */
#define _CBUFFLEN_ 0x2000           /* Buffer size: MUST be power of 2 */

#include "netutil.h"
#include "net.h"
#include "ether.h"
#include "serpc.h"

#if PKTD_SUPPORT
#include "pktd.h"
#else                               /* Dummy functions if PKTD not installed */
#define open_pktd(x)        no_driver("packet")
#define close_pktd(x)       no_driver("packet")
#define put_pktd(x, y, z)   no_driver("packet")
#endif

#if !SLIP_SUPPORT                   /* Dummy functions if SLIP not installed */
#define open_slip(x, y)     no_driver("SLIP")
#define close_slip(x)       no_driver("SLIP")
#define put_slip(x, y, z)   no_driver("SLIP")
#define receive_slip(x)     no_driver("SLIP")
#endif

#define SLIP_END 0xc0               /* SLIP escape codes */
#define SLIP_ESC 0xdb
#define ESC_END  0xdc
#define ESC_ESC  0xdd

CBUFF rxpkts = {_CBUFFLEN_};        /* Rx and Tx circular packet buffers */
CBUFF txpkts = {_CBUFFLEN_};

BYTE slipbuffs[MAXCOMMS][MAXSLIP];  /* SLIP buffers */
WORD sliplens[MAXCOMMS];            /* ..and data lengths */
int netdebug;                       /* Flag to enable net packet display */
FILE *logfile;                      /* Handle for logfile */
int ndrivers;                       /* Number of initialised drivers */
int txfcount, rxfcount;             /* Counts for 'frame drop' options */

/* Private prototypes */
WORD no_driver(char *s);
void do_modem(char c);

/* Get a frame from the network, return length excl. hardware header */
int get_frame(GENFRAME *gfp)
{
    int rxlen;

    if ((rxlen=get_net(gfp)) > 0)           /* If any packet received.. */
    {
        if (is_ether(gfp, rxlen))           /* If Ethernet.. */
            rxlen -= sizeof(ETHERHDR);      /* Subtract header length */
        else if (!is_slip(gfp, rxlen))      /* If not SLIP.. */
            rxlen = 0;                      /* Discard if unrecognised */
    }
    return(rxlen);
}

/* Put frame out onto the network; if sub-frame (fragment), send it as well */
int put_frame(GENFRAME *gfp, int len)
{
    int ret=0, len1, len2;
    GENFRAME *sfp;

    len1 = gfp->g.fragoff ? gfp->g.fragoff : len;   /* Get len of 2 fragments */
    len2 = len - len1;
    sfp = (GENFRAME *)&gfp->buff[gfp->g.fragoff];   /* ..and ptr to 2nd frag */
#if SUBFIRST
    if (len2 > 0)                           /* Send sub-frame first.. */
        ret = put_net(sfp, (WORD)len2);
    if (len1 > 0)                           /* ..then main frame */
        ret += put_net(gfp, (WORD)len1);
#else                                       /* Or send main frame first */
    if (len1 > 0)
        ret = put_net(gfp, (WORD)len1);
    if (len2 > 0)
        ret += put_net(sfp, (WORD)len2);
#endif
    return(ret);
}

/* Open network driver
** Return driver type, which is the driver config number (1st driver is 0)
** plus flags to indicate frame type (Ethernet, SLIP etc.). Return 0 if error */
WORD open_net(char *cfgstr)
{
    WORD dtype=0, etype, stype;
    int append;
    char *s;

    etype = ndrivers + DTYPE_ETHER;                 /* Ethernet driver type */
    stype = ndrivers + DTYPE_SLIP;                  /* ..and SLIP driver type */
    if (ndrivers >= MAXNETS)
        printf("ERROR: exceeded maximum number of network interfaces\n");
    else if ((s = skiptoken(cfgstr, "ether")) != 0) /* Ethernet? */
    {
        cfgstr = skippunct(s);
        if ((s = skiptoken(cfgstr, "snap")) != 0)   /* ..with 802.3 SNAP hdr? */
        {
            etype |= DTYPE_SNAP;
            cfgstr = skippunct(s);
        }                                           /* Direct hardware drive? */
        if ((s = skiptoken(cfgstr, "ne")) != 0)     /* ..NE2000-compatible */
            dtype = open_etherne(s, (WORD)(etype|DTYPE_NE));
        else if ((s = skiptoken(cfgstr, "3c")) != 0)/* ..3COM 3C509 */
            dtype = open_ether3c(s, (WORD)(etype|DTYPE_3C));
        else if ((s = skiptoken(cfgstr, "pktd")) != 0)
            dtype = open_pktd(etype | DTYPE_PKTD);  /* Ether Packet Driver? */
    }
    else if ((s = skiptoken(cfgstr, "slip")) != 0)  /* SLIP interface? */
    {
        cfgstr = skippunct(s);
        if ((s = skiptoken(cfgstr, "pc")) != 0)     /* PC ser (direct/Win32) */
            dtype = open_slip(s, stype);
        else if ((s = skiptoken(cfgstr, "pktd")) != 0)
            dtype = open_pktd(stype | DTYPE_PKTD);  /* Packet driver SLIP */
    }
    if (dtype && (s=strchr(s, '>'))!=0)             /* Log net Tx/Tx to file? */
    {
        if ((append = (*++s == '>'))!=0)            /* If '>>' append to file */
            s++;
        s = skipspace(s);                           /* Open logfile */
        printf("%s logfile '%s'\n", append ? "Appending to" : "Creating",  s);
        if ((logfile=fopen(s, append ? "ab" : "wb"))==0)
            printf("ERROR: can't open logfile\n");
    }
    if (dtype)                                      /* Bump up driver count */
        ndrivers++;
    return(dtype);
}

/* Close network driver */
void close_net(WORD dtype)
{
    if (dtype & DTYPE_NE)                           /* Close NE2000-compat */
        close_etherne(dtype);
    else if (dtype & DTYPE_3C)                      /* ..or 3C509 */
        close_ether3c(dtype);
    else if (dtype == DTYPE_SLIP)                   /* ..or SLIP */
        close_slip(dtype);
    else if (dtype & DTYPE_PKTD)                    /* ..or packet driver */
        close_pktd(dtype);
    if (logfile)                                    /* Close logfile */
    {
        printf("Closing logfile\n");
        if (ferror(logfile))
            printf("\nERROR writing logfile\n");
        fclose(logfile);
        logfile = 0;
    }
}

/* Dummy initialisation function for unsupported drivers */
WORD no_driver(char *s)
{
    printf("ERROR: %s driver not included in this version\n", s);
    return(0);
}

/* Return pointer to my Ethernet addr, given driver type */
BYTE *ether_addr(WORD dtype)
{
    BYTE *addr=(BYTE *)"-SLIP-";

    if (dtype & DTYPE_NE)
        addr = etherne_addr(dtype);
    else if (dtype & DTYPE_3C)
        addr = ether3c_addr(dtype);
#if PKTD_SUPPORT
    else if (dtype & DTYPE_PKTD)
        addr = etherpktd_addr(dtype);
#endif
    return(addr);
}

/* Get frame from receive buffer, given pointer to a frame buffer.
** If driver type field in the frame buffer is non-zero, match that driver type
** If zero, match any driver type. Return data length (0 if no packet) */
WORD get_net(GENFRAME *gfp)
{
    WORD len=0;
    SNAPFRAME *sfp;
    GENHDR gh={0,0,0};
    LWORD mstim;

    if (buff_dlen(&rxpkts) >= sizeof(GENHDR))
    {                                       /* If frame in Rx pkt buffer.. */
        buff_out(&rxpkts, (BYTE *)&gh, sizeof(gh)); /* Check frame hdr */
        len = gh.len;                       /* ..ensure length is sensible */
        if (len<1 || len>MAXFRAME)
        {
            rxpkts.out = rxpkts.trial = rxpkts.in;
            printf("\nERROR Rx frame buffer corrupt!\n");
            printf("Frame len=%u, type=%u\n", len, gh.dtype);
            len = 0;
        }
        else if (gh.dtype==gfp->g.dtype || !gfp->g.dtype)
        {                                   /* Driver type matches or is 0 */
            buff_out(&rxpkts, gfp->buff, len);  /* Store frame in buffer */
            if (!gfp->g.dtype)              /* If no driver type in buffer.. */
                gfp->g = gh;                /* ..load in complete header */
            gfp->g.len = len;               /* Set length in header */
            if (netdebug)                   /* Display raw frame */
                 disp_frame(gfp, len, 0);
            if (logfile)                    /* Log raw frame */
            {
                mstim = mstime();
                fwrite("GET ", 1, 4, logfile);
                fwrite(&mstim, 1, 4, logfile);
                fwrite(gfp, 1, len+sizeof(GENHDR), logfile);
            }
            if (gfp->g.dtype&DTYPE_ETHER && /* If Ethernet frame.. */
                gfp->buff[MACLEN*2] < 6)    /* ..and Pcol less than 600h */
            {                               /* ..might be 802.3 SNAP */
                sfp = (SNAPFRAME *)gfp->buff;
                if (len>sizeof(SNAPHDR) && sfp->s.lsap==0xaaaa)
                {                           /* If so, convert to DIX */
                    len -= sizeof(SNAPHDR);
                    memmove(&sfp->e.ptype, &sfp->s.ptype, len);
                }
                gfp->g.len = len;           /* Re-set length in header */
            }
        }
        else
        {                                   /* Wrong driver type: discard pkt */
            buff_out(&rxpkts, 0, len);
            len = 0;
        }
#if RXDROP
        if (++txfcount % RXDROP == 0)
        {
            printf("     Rx frame dropped for debug\n");
            len = 0;
        }
#endif
    }
    return(len);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女女做受ⅹxx高潮| 91精品国产综合久久久久久久久久| 亚洲成av人影院| 一区二区三区日韩在线观看| 亚洲天堂成人网| 国产精品久久久久久久午夜片| 久久久久国产精品厨房| 久久九九久久九九| 国产精品久久久久久一区二区三区| 日本一区二区三区在线观看| 日本一区二区久久| 亚洲色欲色欲www| 亚洲国产综合人成综合网站| 日本欧美一区二区| 日本不卡高清视频| 国产一区二区三区日韩| 成人激情免费网站| 91国产成人在线| 欧美一区二区视频网站| 欧美不卡123| 国产精品视频在线看| 亚洲欧美激情插| 日本欧洲一区二区| 丰满岳乱妇一区二区三区| av欧美精品.com| 欧美日本国产一区| 久久综合九色综合97_久久久| 国产精品视频在线看| 亚洲国产视频一区| 国产在线观看一区二区| 91猫先生在线| 欧美成人福利视频| 亚洲特级片在线| 男男视频亚洲欧美| 91亚洲精品乱码久久久久久蜜桃| 欧美日韩中文字幕一区二区| 精品福利一二区| 亚洲图片自拍偷拍| 风间由美性色一区二区三区| 欧美精品v国产精品v日韩精品 | 91精品婷婷国产综合久久性色| 精品国产乱码久久久久久久久| 国产欧美日韩另类视频免费观看| 夜夜精品视频一区二区| 国内精品国产成人| 欧美日韩国产综合一区二区三区| 精品国产乱码久久久久久1区2区| 亚洲女人的天堂| 国产91精品精华液一区二区三区| 精品视频一区 二区 三区| 日本一区二区成人在线| 另类调教123区| 欧美日韩国产精品成人| 综合久久一区二区三区| 国产乱码字幕精品高清av | 欧美aaaaaa午夜精品| 91在线视频免费91| 日韩精品一区二区三区视频播放| 亚洲欧美一区二区三区孕妇| 久久99久久精品| 欧美三级视频在线| 亚洲欧洲av色图| 国产69精品久久久久777| 欧美精品一区二区三区很污很色的 | 亚洲精品国产第一综合99久久 | 亚洲美女淫视频| 成人黄动漫网站免费app| 国产偷国产偷亚洲高清人白洁| 日韩中文字幕91| 欧美精品一二三四| 亚洲国产欧美日韩另类综合| 一本一本大道香蕉久在线精品| 国产精品午夜在线观看| 成人永久aaa| 国产日韩高清在线| 国产成人在线影院| 国产亚洲制服色| 丁香桃色午夜亚洲一区二区三区| 精品国产一区a| 狠狠色综合播放一区二区| 亚洲精品在线免费观看视频| 久久er99精品| 国产亚洲精品aa| 成人精品小蝌蚪| 亚洲欧美视频在线观看| 在线精品视频免费观看| 亚洲地区一二三色| 日韩一级在线观看| 韩国欧美国产1区| 国产精品午夜在线| 日本伦理一区二区| 三级在线观看一区二区| 日韩午夜精品电影| 国产v日产∨综合v精品视频| 国产精品动漫网站| 欧美视频在线观看一区二区| 日韩精品一二三区| 国产亚洲欧美一级| 在线精品视频一区二区三四| 日本成人在线视频网站| 国产亚洲精品aa| 91极品美女在线| 久久99国内精品| 国产精品久久久久久一区二区三区| 91免费观看视频| 美女视频网站久久| 国产精品午夜在线观看| 欧美日韩一区二区在线视频| 日韩va欧美va亚洲va久久| 久久综合av免费| 欧美性色欧美a在线播放| 六月丁香婷婷久久| 亚洲免费在线观看视频| 日韩一级完整毛片| 99国产精品久久久久久久久久| 亚洲与欧洲av电影| 国产日韩欧美精品一区| 欧洲国产伦久久久久久久| 国产一区二区主播在线| 一区二区三区日本| 国产午夜精品一区二区三区四区| 91麻豆产精品久久久久久| 婷婷开心久久网| 久久女同精品一区二区| 欧美精品久久一区| 91丨九色丨尤物| 国产精品一区二区在线观看网站 | 欧美一区二区三区免费视频| 波多野结衣在线一区| 免费一级片91| 亚洲一区二区av在线| 国产精品国模大尺度视频| 日韩限制级电影在线观看| 欧美三区免费完整视频在线观看| 成人午夜免费视频| 国产一区二区三区在线看麻豆| 日韩中文字幕一区二区三区| 亚洲综合一二区| 国产精品电影一区二区| 欧美成人三级在线| 91精品国产色综合久久ai换脸 | 久久久精品国产99久久精品芒果| 欧美日韩国产三级| 欧美图片一区二区三区| 91免费看`日韩一区二区| 国产超碰在线一区| 国产一区二区福利| 国产一区视频网站| 久久91精品国产91久久小草| 日韩二区三区在线观看| 天堂午夜影视日韩欧美一区二区| 夜色激情一区二区| 亚洲免费av在线| 亚洲日本成人在线观看| 专区另类欧美日韩| 一区二区三区在线影院| 一区二区三区免费看视频| 亚洲免费在线视频一区 二区| 亚洲视频一区在线| 亚洲综合男人的天堂| 亚洲福利视频三区| 午夜精品久久久久影视| 免费在线看成人av| 久久99国产精品免费| 国产精品一二一区| 成人不卡免费av| 91美女精品福利| 欧美日韩和欧美的一区二区| 欧美一区二区三区思思人| 日韩一区二区三区电影在线观看| 欧美成人精品3d动漫h| 国产日韩精品一区| 亚洲精品一二三| 国产高清不卡二三区| www.成人在线| 欧美三级视频在线| 久久综合色播五月| 国产精品久久精品日日| 亚洲成a人片在线观看中文| 麻豆精品一区二区av白丝在线| 国产很黄免费观看久久| 91网址在线看| 日韩美女视频在线| 国产精品不卡一区二区三区| 亚洲一卡二卡三卡四卡| 久久成人免费电影| 色综合天天综合色综合av| 911国产精品| 国产精品狼人久久影院观看方式| 一区二区三区视频在线观看| 美女精品一区二区| 91免费看视频| 精品国产三级电影在线观看| 最近日韩中文字幕| 久久99久久久欧美国产| 色婷婷综合五月| 26uuu色噜噜精品一区二区| 亚洲精品欧美在线| 国产精品白丝av| 在线综合+亚洲+欧美中文字幕|