Loading src/main.c +2 −0 Original line number Original line Diff line number Diff line Loading @@ -1170,6 +1170,8 @@ main_scan(struct Masscan *masscan) if (masscan->nmap.ttl) if (masscan->nmap.ttl) template_set_ttl(parms->tmplset, masscan->nmap.ttl); template_set_ttl(parms->tmplset, masscan->nmap.ttl); if (masscan->nic[0].is_vlan) template_set_vlan(parms->tmplset, masscan->nic[0].vlan_id); /* /* Loading src/templ-pkt.c +30 −0 Original line number Original line Diff line number Diff line Loading @@ -1051,6 +1051,36 @@ template_set_ttl(struct TemplateSet *tmplset, unsigned ttl) } } } } void template_set_vlan(struct TemplateSet *tmplset, unsigned vlan) { unsigned i; for (i=0; i<tmplset->count; i++) { struct TemplatePacket *tmpl = &tmplset->pkts[i]; unsigned char *px; if (tmpl->length < 14) continue; px = (unsigned char*)malloc(tmpl->length + 4); memcpy(px, tmpl->packet, 12); memcpy(px+16, tmpl->packet+12, tmpl->length - 12); px[12] = 0x81; px[13] = 0x00; px[14] = (unsigned char)(vlan>>8); px[15] = (unsigned char)(vlan>>0); tmpl->packet = px; tmpl->length += 4; tmpl->offset_ip += 4; tmpl->offset_tcp += 4; tmpl->offset_app += 4; } } /*************************************************************************** /*************************************************************************** Loading src/templ-pkt.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -166,5 +166,6 @@ unsigned template_get_source_ip(struct TemplateSet *tmplset); void template_set_source_port(struct TemplateSet *tmplset, unsigned port); void template_set_source_port(struct TemplateSet *tmplset, unsigned port); void template_set_ttl(struct TemplateSet *tmplset, unsigned ttl); void template_set_ttl(struct TemplateSet *tmplset, unsigned ttl); void template_set_vlan(struct TemplateSet *tmplset, unsigned vlan); #endif #endif Loading
src/main.c +2 −0 Original line number Original line Diff line number Diff line Loading @@ -1170,6 +1170,8 @@ main_scan(struct Masscan *masscan) if (masscan->nmap.ttl) if (masscan->nmap.ttl) template_set_ttl(parms->tmplset, masscan->nmap.ttl); template_set_ttl(parms->tmplset, masscan->nmap.ttl); if (masscan->nic[0].is_vlan) template_set_vlan(parms->tmplset, masscan->nic[0].vlan_id); /* /* Loading
src/templ-pkt.c +30 −0 Original line number Original line Diff line number Diff line Loading @@ -1051,6 +1051,36 @@ template_set_ttl(struct TemplateSet *tmplset, unsigned ttl) } } } } void template_set_vlan(struct TemplateSet *tmplset, unsigned vlan) { unsigned i; for (i=0; i<tmplset->count; i++) { struct TemplatePacket *tmpl = &tmplset->pkts[i]; unsigned char *px; if (tmpl->length < 14) continue; px = (unsigned char*)malloc(tmpl->length + 4); memcpy(px, tmpl->packet, 12); memcpy(px+16, tmpl->packet+12, tmpl->length - 12); px[12] = 0x81; px[13] = 0x00; px[14] = (unsigned char)(vlan>>8); px[15] = (unsigned char)(vlan>>0); tmpl->packet = px; tmpl->length += 4; tmpl->offset_ip += 4; tmpl->offset_tcp += 4; tmpl->offset_app += 4; } } /*************************************************************************** /*************************************************************************** Loading
src/templ-pkt.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -166,5 +166,6 @@ unsigned template_get_source_ip(struct TemplateSet *tmplset); void template_set_source_port(struct TemplateSet *tmplset, unsigned port); void template_set_source_port(struct TemplateSet *tmplset, unsigned port); void template_set_ttl(struct TemplateSet *tmplset, unsigned ttl); void template_set_ttl(struct TemplateSet *tmplset, unsigned ttl); void template_set_vlan(struct TemplateSet *tmplset, unsigned vlan); #endif #endif