/*
** This file is part of Filius, a network construction and simulation software.
**
** Originally created at the University of Siegen, Institute "Didactics of
** Informatics and E-Learning" by a students' project group:
** members (2006-2007):
** André Asschoff, Johannes Bade, Carsten Dittich, Thomas Gerding,
** Nadja Haßler, Ernst Johannes Klebert, Michell Weyer
** supervisors:
** Stefan Freischlad (maintainer until 2009), Peer Stechert
** Project is maintained since 2010 by Christian Eibl <filius@c.fameibl.de>
** and Stefan Freischlad
** Filius is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 2 of the License, or
** (at your option) version 3.
**
** Filius 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 General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with Filius. If not, see <http://www.gnu.org/licenses/>.
*/
package filius.software.vermittlungsschicht;
import java.io.Serializable;
/** Diese Klasse umfasst die Attribute eines ARP-Pakets */
public class IcmpPaket implements Serializable {
private static final long serialVersionUID = 1L;
/** Protokoll-Typ der Vermittlungsschicht */
private String protokollTyp;
/** MAC-Adresse des sendenden Knotens */
private String quellMacAdresse;
/** IP-Adresse des sendenden Knotens */
private String quellIp;
private String zielMacAdresse;
private String zielIp;
private int ttl; // Time-to-Live
private int seqNr; // sequence number of Echo Request packet
// ICMP Echo Request: type 8, code 0
// ICMP Echo Reply: type 0, code 0
private int icmpType;
private int icmpCode;
public IcmpPaket() {
super();
}
public void setIcmpType(int type) {
this.icmpType = type;
}
public void setIcmpCode(int code) {
this.icmpCode = code;
}
public int getIcmpType() {
return icmpType;
}
public int getIcmpCode() {
return icmpCode;
}
// manage Time-to-Live header field
public int getTtl() {
return this.ttl;
}
public void setTtl(int ttl) {
this.ttl=ttl;
}
// manage sequence number field
public int getSeqNr() {
return this.seqNr;
}
public void setSeqNr(int seqNr) {
this.seqNr=seqNr;
}
public String getProtokollTyp() {
return protokollTyp;
}
public void setProtokollTyp(String protokollTyp) {
this.protokollTyp = protokollTyp;
}
public String getQuellIp() {
return quellIp;
}
public void setQuellIp(String quellIp) {
this.quellIp = quellIp;
}
public String getQuellMacAdresse() {
return quellMacAdresse;
}
public void setQuellMacAdresse(String quellMacAdresse) {
this.quellMacAdresse = quellMacAdresse;
}
public String getZielIp() {
return zielIp;
}
public void setZielIp(String zielIp) {
this.zielIp = zielIp;
}
public String getZielMacAdresse() {
return zielMacAdresse;
}
public void setZielMacAdresse(String zielMacAdresse) {
this.zielMacAdresse = zielMacAdresse;
}
public String toString() {
return "[" +
"protokollTyp="+protokollTyp+"; " +
"quellIp="+quellIp+"; " +
"quellMacAdresse="+quellMacAdresse+"; " +
"zielIp="+zielIp+"; " +
"zielMacAdresse="+zielMacAdresse+"; " +
"ttl="+ttl+"; " +
"seqNr="+seqNr+"; " +
"icmpType="+icmpType+"; " +
"icmpCode="+icmpCode +
"]";
}
}