portRangeStart = NamedPort.AOL.number(); portRangeEnd = portRangeStart + 3; ipProtocol = IpProtocol.TCP; portRangeStart = NamedPort.BGP.number(); ipProtocol = IpProtocol.TCP; break; portRangeStart = NamedPort.BIFFudp_OR_EXECtcp.number(); ipProtocol = IpProtocol.UDP; break; portRangeStart = NamedPort.BOOTPC.number(); ipProtocol = IpProtocol.UDP; break; portRangeStart = NamedPort.BOOTPS_OR_DHCP.number(); ipProtocol = IpProtocol.UDP; break; portRangeStart = NamedPort.CHARGEN.number(); ipProtocol = IpProtocol.UDP; break; portRangeStart = NamedPort.CVSPSERVER.number(); ipProtocol = IpProtocol.TCP; break; NamedPort.BOOTPC.number(); // TODO: rename BOOTPC to BOOTPC_OR_DHCP_CLIENT
public int getPortNumber(PortContext ctx) { if (ctx.DEC() != null) { return toInteger(ctx.DEC()); } else { NamedPort namedPort = toNamedPort(ctx); return namedPort.number(); } }
public static int getPortNumber(PortContext ctx) { if (ctx.DEC() != null) { int port = toInt(ctx.DEC()); return port; } else { NamedPort namedPort = getNamedPort(ctx); return namedPort.number(); } }
.setDstPorts( ImmutableSet.of( new SubRange(NamedPort.BOOTPS_OR_DHCP.number(), NamedPort.BOOTPC.number()))); break; .setDstPorts( ImmutableSet.of( new SubRange(NamedPort.DOMAIN.number(), NamedPort.DOMAIN.number()))); break; .setDstPorts( ImmutableSet.of( new SubRange(NamedPort.FINGER.number(), NamedPort.FINGER.number()))); break; .setIpProtocols(ImmutableSet.of(IpProtocol.TCP)) .setDstPorts( ImmutableSet.of(new SubRange(NamedPort.FTP.number(), NamedPort.FTP.number()))); break; .setIpProtocols(ImmutableSet.of(IpProtocol.TCP)) .setDstPorts( ImmutableSet.of(new SubRange(NamedPort.HTTP.number(), NamedPort.HTTP.number()))); break; .setDstPorts( ImmutableSet.of( new SubRange(NamedPort.HTTPS.number(), NamedPort.HTTPS.number()))); break;
.setDstPorts( ImmutableSet.of( new SubRange(NamedPort.BFD_CONTROL.number(), NamedPort.BFD_ECHO.number()))); break; .setIpProtocols(ImmutableSet.of(IpProtocol.TCP)) .setDstPorts( ImmutableSet.of(new SubRange(NamedPort.BGP.number(), NamedPort.BGP.number()))); break; .setIpProtocols(ImmutableSortedSet.of(IpProtocol.TCP, IpProtocol.UDP)) .setDstPorts( ImmutableSet.of(new SubRange(NamedPort.LDP.number(), NamedPort.LDP.number()))); break; .setIpProtocols(ImmutableSet.of(IpProtocol.TCP)) .setDstPorts( ImmutableSet.of(new SubRange(NamedPort.MSDP.number(), NamedPort.MSDP.number()))); break; ImmutableSet.of( new SubRange( NamedPort.EFStcp_OR_RIPudp.number(), NamedPort.EFStcp_OR_RIPudp.number()))); break; .setIpProtocols(ImmutableSet.of(IpProtocol.UDP)) .setDstPorts( ImmutableSet.of(new SubRange(NamedPort.SAP.number(), NamedPort.SAP.number())))
BDD computeTCPConstraint() { BDD result = _bddPacket.getFactory().zero(); for (NamedPort namedPort : NamedPort.values()) { result = result.or(_bddPacket.getDstPort().value(namedPort.number())); } result = _bddPacket.getSrcPort().geq(NamedPort.EPHEMERAL_LOWEST.number()).and(result); BDD result2 = _bddPacket.getFactory().zero(); for (NamedPort namedPort : NamedPort.values()) { result2 = result2.or(_bddPacket.getSrcPort().value(namedPort.number())); } result2 = _bddPacket.getDstPort().geq(NamedPort.EPHEMERAL_LOWEST.number()).and(result); return _bddPacket.getIpProtocol().value(IpProtocol.TCP.number()).and(result.or(result2)); }
/** * Generate a flow builder given some set of packet header constraints. * * @param constraints {@link PacketHeaderConstraints} * @throws IllegalArgumentException if the {@code constraints} cannot be resolved to a single * value. */ private Flow.Builder headerConstraintsToFlow( PacketHeaderConstraints constraints, Location srcLocation) throws IllegalArgumentException { Flow.Builder builder = PacketHeaderConstraintsUtil.toFlow(constraints); setSrcIp(constraints, srcLocation, builder); setDstIp(constraints, builder); // Set defaults for protocol, and ports and packet lengths: if (builder.getIpProtocol() == null || builder.getIpProtocol() == IpProtocol.IP) { builder.setIpProtocol(IpProtocol.TCP); } if (builder.getDstPort() == 0) { builder.setDstPort(NamedPort.HTTP.number()); } if (builder.getSrcPort() == 0) { builder.setSrcPort(NamedPort.EPHEMERAL_LOWEST.number()); } return builder; }
BDD computeUDPConstraint() { BDD bdd1 = _bddPacket .getDstPort() .geq(33434) .and(_bddPacket.getDstPort().leq(33534)) .and(_bddPacket.getSrcPort().geq(NamedPort.EPHEMERAL_LOWEST.number())); BDD bdd2 = _bddPacket .getSrcPort() .geq(33434) .and(_bddPacket.getSrcPort().leq(33534)) .and(_bddPacket.getDstPort().geq(NamedPort.EPHEMERAL_LOWEST.number())); return _bddPacket.getIpProtocol().value(IpProtocol.UDP.number()).and(bdd1.or(bdd2)); }
/** * Generate a flow builder given some set of packet header constraints. * * @param constraints {@link PacketHeaderConstraints} * @throws IllegalArgumentException if the {@code constraints} cannot be resolved to a single * value. */ private Flow.Builder headerConstraintsToFlow( PacketHeaderConstraints constraints, Location srcLocation) throws IllegalArgumentException { Flow.Builder builder = PacketHeaderConstraintsUtil.toFlow(constraints); // Extract and source IP from header constraints, setSrcIp(constraints, srcLocation, builder); setDstIp(constraints, builder); // Set defaults for protocol, and ports and packet lengths: if (builder.getIpProtocol() == null || builder.getIpProtocol() == IpProtocol.IP) { builder.setIpProtocol(IpProtocol.UDP); } if (builder.getDstPort() == 0) { builder.setDstPort(TRACEROUTE_PORT); } if (builder.getSrcPort() == 0) { builder.setSrcPort(NamedPort.EPHEMERAL_LOWEST.number()); } return builder; }