This commit is contained in:
insanity 2017-06-07 22:43:24 +09:00
parent d094c0bfca
commit c0f83af30b
2 changed files with 24 additions and 11 deletions

View File

@ -13,4 +13,13 @@ export function ip2int(ip: string) {
export function sec2date(ms: number) { export function sec2date(ms: number) {
var dateTime = new Date(ms); var dateTime = new Date(ms);
return dateTime.toLocaleString(); return dateTime.toLocaleString();
}
export function mac2str(from: string) {
var hexValue = parseInt(from).toString(16);
var macaddress = [];
for (var i = 0; i < hexValue.length; i = i + 2) {
macaddress.push(hexValue.substr(i, 2));
}
return macaddress.join(':');
} }

View File

@ -14,22 +14,19 @@ const styles = {
export class DiscoveryResult extends React.Component<any, any> { export class DiscoveryResult extends React.Component<any, any> {
targets : any; list: any;
constructor(props: any, context: any) { constructor(props: any, context: any) {
super(props, context); super(props, context);
this.state = { this.state = {
result: [], result: [],
selected: [],
selectedHost: [],
selectedService: [],
}; };
} }
componentWillMount() { componentWillMount() {
let data = '{"startDate":1496812121000,"endDate":1496812155000,"result":true,"zone":{"ip":3232235985,"mask":24,"iface":"enp0s3","mac":8796753988883,"firstScanRange":3232235777,"lastScanRange":3232236030,"hosts":[{"firstScanRange":1,"lastScanRange":10000,"name":"","ip":3232235985,"mac":8796753988883,"ports":null,"createDate":1496812124000,"updateDate":1496812124000},{"firstScanRange":1,"lastScanRange":10000,"name":"","ip":3232235881,"mac":23084201235582,"ports":[{"createDate":-62135596800000,"updateDate":-62135596800000,"services":[{"createDate":-62135596800000,"updateDate":-62135596800000,"portType":"TCP","serviceName":"SMTP"}],"portType":"TCP","portNumber":25},{"createDate":-62135596800000,"updateDate":-62135596800000,"services":[{"createDate":-62135596800000,"updateDate":-62135596800000,"portType":"TCP","serviceName":"HTTP"}],"portType":"TCP","portNumber":3000},{"createDate":-62135596800000,"updateDate":-62135596800000,"services":[{"createDate":-62135596800000,"updateDate":-62135596800000,"portType":"TCP","serviceName":"HTTP"}],"portType":"TCP","portNumber":80}],"createDate":1496812124000,"updateDate":1496812124000}]}}'; let data = '{"startDate":1496812121000,"endDate":1496812155000,"result":true,"zone":{"ip":3232235985,"mask":24,"iface":"enp0s3","mac":8796753988883,"firstScanRange":3232235777,"lastScanRange":3232236030,"hosts":[{"firstScanRange":1,"lastScanRange":10000,"name":"","ip":3232235985,"mac":8796753988883,"ports":null,"createDate":1496812124000,"updateDate":1496812124000},{"firstScanRange":1,"lastScanRange":10000,"name":"","ip":3232235881,"mac":23084201235582,"ports":[{"createDate":-62135596800000,"updateDate":-62135596800000,"services":[{"createDate":-62135596800000,"updateDate":-62135596800000,"portType":"TCP","serviceName":"SMTP"}],"portType":"TCP","portNumber":25},{"createDate":-62135596800000,"updateDate":-62135596800000,"services":[{"createDate":-62135596800000,"updateDate":-62135596800000,"portType":"TCP","serviceName":"HTTP"}],"portType":"TCP","portNumber":3000},{"createDate":-62135596800000,"updateDate":-62135596800000,"services":[{"createDate":-62135596800000,"updateDate":-62135596800000,"portType":"TCP","serviceName":"HTTP"}],"portType":"TCP","portNumber":80}],"createDate":1496812124000,"updateDate":1496812124000}]}}';
let obj = JSON.parse(data); let obj = JSON.parse(data);
this.targets = new Array(); this.list = Array();
this.setState({ this.setState({
result: obj, result: obj,
}); });
@ -59,18 +56,19 @@ export class DiscoveryResult extends React.Component<any, any> {
} }
handleNext = () => { handleNext = () => {
for (var i = 0; i < this.targets.length; i++) { for (var i = 0; i < this.list.length; i++) {
var target = this.targets[i]; var target = this.list[i];
console.log(target); console.log(target);
} }
} }
handleTargetCheck = (type: string, checked: boolean, host: any, port: any) => { handleTargetCheck = (id: number, type: string, checked: boolean, host: any, port: any) => {
let obj: any; let obj: any;
if (type === "host") { if (type === "host") {
obj = { obj = {
"id": id,
"ip": host.ip, "ip": host.ip,
"port": 0, "port": 0,
"portType": "", "portType": "",
@ -78,6 +76,7 @@ export class DiscoveryResult extends React.Component<any, any> {
}; };
} else { } else {
obj = { obj = {
"id": id,
"ip": host.ip, "ip": host.ip,
"port": port.portNumber, "port": port.portNumber,
"portType": port.portType, "portType": port.portType,
@ -86,10 +85,15 @@ export class DiscoveryResult extends React.Component<any, any> {
} }
if (checked) { if (checked) {
this.targets.push(obj); this.list.push(obj);
} else { } else {
this.targets.pop(obj); for (var i = 0; i < this.list.length; i++) {
if (this.list[i].id === id) {
this.list.splice(i, 1);
}
}
} }
console.log(this.list);
} }
@ -159,7 +163,7 @@ export class Row extends React.Component<any, any> {
} }
handleCheck(ev: any, checked: boolean) { handleCheck(ev: any, checked: boolean) {
this.props.onCheck(this.props.type, checked, this.props.host, this.props.port); this.props.onCheck(this.props.id, this.props.type, checked, this.props.host, this.props.port);
} }
render() { render() {