Name | Description |
---|---|
TCPSpoofingHost (compound module) |
IP host with TCPSpoof in the application layer. |
// // Copyright (C) 2006 Andras Varga // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with this program; if not, see <http://www.gnu.org/licenses/>. // package inet.nodes.inet; import inet.applications.tcpapp.TCPSpoof; import inet.base.NotificationBoard; import inet.linklayer.ethernet.EthernetInterface; import inet.linklayer.ppp.PPPInterface; import inet.networklayer.common.InterfaceTable; import inet.networklayer.ipv4.RoutingTable; import inet.util.NAMTraceWriter; // // \IP host with TCPSpoof in the application layer. // module TCPSpoofingHost { parameters: @node(); @labels(node); @display("i=device/pc2;i2=status/excl"); int numTcpApps = default(0); int numUdpApps = default(0); string tcpAppType = default(""); string udpAppType = default(""); bool IPForward = default(false); int namid = default(-1); string routingFile = default(""); gates: inout pppg[] @labels(PPPFrame-conn); inout ethg[] @labels(EtherFrame-conn); submodules: namTrace: NAMTraceWriter { parameters: namid = namid; @display("p=57,265"); } notificationBoard: NotificationBoard { parameters: @display("p=57,54"); } interfaceTable: InterfaceTable { parameters: @display("p=57,122"); } routingTable: RoutingTable { parameters: IPForward = IPForward; routerId = ""; routingFile = routingFile; @display("p=57,192"); } tcpSpoof: TCPSpoof { parameters: @display("p=188,54"); } networkLayer: NetworkLayer { parameters: proxyARP = false; @display("p=188,192;q=queue"); gates: ifIn[sizeof(pppg)+sizeof(ethg)]; ifOut[sizeof(pppg)+sizeof(ethg)]; } ppp[sizeof(pppg)]: PPPInterface { parameters: @display("p=149,265,row,90;q=txQueue"); } eth[sizeof(ethg)]: EthernetInterface { parameters: @display("p=272,265,row,90;q=txQueue"); } connections allowunconnected: tcpSpoof.ipv4Out --> networkLayer.tcpIn; // connections to network outside for i=0..sizeof(pppg)-1 { pppg[i] <--> ppp[i].phys; ppp[i].netwOut --> networkLayer.ifIn[i]; ppp[i].netwIn <-- networkLayer.ifOut[i]; } for i=0..sizeof(ethg)-1 { ethg[i] <--> eth[i].phys; eth[i].netwOut --> networkLayer.ifIn[sizeof(pppg)+i]; eth[i].netwIn <-- networkLayer.ifOut[sizeof(pppg)+i]; } }