diff --git a/src/ts/@overflow/discovery/api/model/Host.ts b/src/ts/@overflow/discovery/api/model/Host.ts new file mode 100644 index 0000000..b7c32f6 --- /dev/null +++ b/src/ts/@overflow/discovery/api/model/Host.ts @@ -0,0 +1,14 @@ +import Port from './Port'; + +interface Host { + id?: number; + ip: number; + mac: number; + createDate?: Date; + updateDate: Date; + os: string; + target: boolean; + ports?: Port[]; +} + +export default Host; diff --git a/src/ts/@overflow/discovery/api/model/Port.ts b/src/ts/@overflow/discovery/api/model/Port.ts new file mode 100644 index 0000000..8302d4d --- /dev/null +++ b/src/ts/@overflow/discovery/api/model/Port.ts @@ -0,0 +1,15 @@ +import Host from './Host'; +import Service from './Service'; +import PortType from './PortType'; + +interface Port { + id?: number; + host: Host; + portType: PortType; + portNumber: number; + services?: Service[]; + createDate?: Date; + updateDate: Date; +} + +export default Port; diff --git a/src/ts/@overflow/discovery/api/model/PortType.ts b/src/ts/@overflow/discovery/api/model/PortType.ts new file mode 100644 index 0000000..26c1130 --- /dev/null +++ b/src/ts/@overflow/discovery/api/model/PortType.ts @@ -0,0 +1,10 @@ + +// enum PortType { +// TCP = 1, +// UDP = 2, +// TLS = 3, +// } + +type PortType = 'TCP' | 'UDP' | 'TLS'; + +export default PortType; diff --git a/src/ts/@overflow/discovery/api/model/Service.ts b/src/ts/@overflow/discovery/api/model/Service.ts new file mode 100644 index 0000000..2297bc4 --- /dev/null +++ b/src/ts/@overflow/discovery/api/model/Service.ts @@ -0,0 +1,14 @@ +import Port from './Port'; +import PortType from './PortType'; + +interface Service { + id: number; + port: Port; + portType: PortType; + serviceName: string; + createDate: Date; + updateDate: Date; + target: boolean; +} + +export default Service; diff --git a/src/ts/containers/test/commons/Tree.tsx b/src/ts/containers/test/commons/Tree.tsx index 2830502..58519fe 100644 --- a/src/ts/containers/test/commons/Tree.tsx +++ b/src/ts/containers/test/commons/Tree.tsx @@ -3,9 +3,11 @@ import * as React from 'react'; import { Checkbox, Container, Label, Accordion, Icon, List, ListItemProps } from 'semantic-ui-react'; +import Host from '../../../@overflow/discovery/api/model/Host'; +import Port from '../../../@overflow/discovery/api/model/Port'; +import Service from '../../../@overflow/discovery/api/model/Service'; - - +import * as Utils from '../../../components/Utils'; export class Tree extends React.Component { @@ -17,28 +19,67 @@ export class Tree extends React.Component { }; - console.log(jsonData); + // fs.readFile('../../../../../dh.json', this.handlJSONFile); } - handlJSONFile = (err: any, data: any) => { - - - } + handlJSONFile = (err: any, data: any) => { + + + } render() { return ( - - {jsonData.map((data: any) => { - - - - })} - - + { + + jsonData.map((data: any, index: number) => { + let hh: Host = data; + + return ( + + + + {Utils.int2ip(hh.ip)} {hh.os} + Host + {hh.ports ? hh.ports.map((port: Port, idx: number) => { + + return ( + + + + + {port.portNumber} {port.portType} + Port + {port.services ? port.services.map((service: Service, sIdx: number) => { + return ( + + + + + {service.serviceName} {service.portType} + Service + + + + ); + }) : ''} + + + + ); + }) : ''} + + + + ); + + })} + + + {/* : ''} - + */} ); } @@ -69,7 +110,7 @@ const jsonData = [{ "name": "", "ip": 3232235818, "mac": 91754662925, - "os":"Windows", + "os": "Windows", "ports": [{ "createDate": -62135596800000, "updateDate": -62135596800000, @@ -78,161 +119,161 @@ const jsonData = [{ "updateDate": -62135596800000, "portType": "TCP", "serviceName": "SSH", - "target":true + "target": true }], "portType": "TCP", "portNumber": 22 }, - { + { + "createDate": -62135596800000, + "updateDate": -62135596800000, + "services": [{ "createDate": -62135596800000, "updateDate": -62135596800000, - "services": [{ - "createDate": -62135596800000, - "updateDate": -62135596800000, - "portType": "TCP", - "serviceName": "HTTP" - }], "portType": "TCP", - "portNumber": 443 - }, - { - "createDate": -62135596800000, - "updateDate": -62135596800000, - "services": [{ - "createDate": -62135596800000, - "updateDate": -62135596800000, - "portType": "TCP", - "serviceName": "HTTP" - }], - "portType": "TCP", - "portNumber": 80 + "serviceName": "HTTP" }], + "portType": "TCP", + "portNumber": 443 + }, + { + "createDate": -62135596800000, + "updateDate": -62135596800000, + "services": [{ + "createDate": -62135596800000, + "updateDate": -62135596800000, + "portType": "TCP", + "serviceName": "HTTP" + }], + "portType": "TCP", + "portNumber": 80 + }], "createDate": 1498470178000, "updateDate": 1498470178000 }, - { - "firstScanRange": 1, - "lastScanRange": 10000, - "name": "", - "ip": 3232235781, - "mac": 91754660625, - "os":"Windows", - "ports": [{ +{ + "firstScanRange": 1, + "lastScanRange": 10000, + "name": "", + "ip": 3232235781, + "mac": 91754660625, + "os": "Windows", + "ports": [{ + "createDate": -62135596800000, + "updateDate": -62135596800000, + "services": [{ "createDate": -62135596800000, "updateDate": -62135596800000, - "services": [{ - "createDate": -62135596800000, - "updateDate": -62135596800000, - "portType": "TCP", - "serviceName": "SSH" - }], "portType": "TCP", - "portNumber": 22 - }, - { - "createDate": -62135596800000, - "updateDate": -62135596800000, - "services": [{ - "createDate": -62135596800000, - "updateDate": -62135596800000, - "portType": "TCP", - "serviceName": "HTTP" - }], - "portType": "TCP", - "portNumber": 80 - }, - { - "createDate": -62135596800000, - "updateDate": -62135596800000, - "services": [{ - "createDate": -62135596800000, - "updateDate": -62135596800000, - "portType": "TCP", - "serviceName": "HTTP" - }], - "portType": "TCP", - "portNumber": 1936 - }, - { - "createDate": -62135596800000, - "updateDate": -62135596800000, - "services": null, - "portType": "TCP", - "portNumber": 443 - }], - "createDate": 1498470178000, - "updateDate": 1498470178000 + "serviceName": "SSH" + }], + "portType": "TCP", + "portNumber": 22 }, { - "firstScanRange": 1, - "lastScanRange": 10000, - "name": "", - "ip": 3232235797, - "mac": 91754662913, - "os":"Windows", - "target":true, - "ports": [{ + "createDate": -62135596800000, + "updateDate": -62135596800000, + "services": [{ "createDate": -62135596800000, "updateDate": -62135596800000, - "services": [{ - "createDate": -62135596800000, - "updateDate": -62135596800000, - "portType": "TCP", - "serviceName": "HTTP" - }], "portType": "TCP", - "portNumber": 80 - }, - { - "createDate": -62135596800000, - "updateDate": -62135596800000, - "services": [{ - "createDate": -62135596800000, - "updateDate": -62135596800000, - "portType": "TCP", - "serviceName": "SSH" - }], - "portType": "TCP", - "portNumber": 22 - }, - { - "createDate": -62135596800000, - "updateDate": -62135596800000, - "services": [{ - "createDate": -62135596800000, - "updateDate": -62135596800000, - "portType": "TCP", - "serviceName": "HTTP" - }], - "portType": "TCP", - "portNumber": 3343 - }, - { - "createDate": -62135596800000, - "updateDate": -62135596800000, - "services": [{ - "createDate": -62135596800000, - "updateDate": -62135596800000, - "portType": "TCP", - "serviceName": "HTTP" - }], - "portType": "TCP", - "portNumber": 443 - }], - "createDate": 1498470178000, - "updateDate": 1498470178000 + "serviceName": "HTTP" + }], + "portType": "TCP", + "portNumber": 80 }, { - "firstScanRange": 1, - "lastScanRange": 10000, - "name": "", - "ip": 3232235877, - "mac": 75361038758387, - "os":"Windows", - "ports": null, - "createDate": 1498470179000, - "updateDate": 1498470179000 - } + "createDate": -62135596800000, + "updateDate": -62135596800000, + "services": [{ + "createDate": -62135596800000, + "updateDate": -62135596800000, + "portType": "TCP", + "serviceName": "HTTP" + }], + "portType": "TCP", + "portNumber": 1936 + }, + { + "createDate": -62135596800000, + "updateDate": -62135596800000, + "services": null, + "portType": "TCP", + "portNumber": 443 + }], + "createDate": 1498470178000, + "updateDate": 1498470178000 +}, +{ + "firstScanRange": 1, + "lastScanRange": 10000, + "name": "", + "ip": 3232235797, + "mac": 91754662913, + "os": "Windows", + "target": true, + "ports": [{ + "createDate": -62135596800000, + "updateDate": -62135596800000, + "services": [{ + "createDate": -62135596800000, + "updateDate": -62135596800000, + "portType": "TCP", + "serviceName": "HTTP" + }], + "portType": "TCP", + "portNumber": 80 + }, + { + "createDate": -62135596800000, + "updateDate": -62135596800000, + "services": [{ + "createDate": -62135596800000, + "updateDate": -62135596800000, + "portType": "TCP", + "serviceName": "SSH" + }], + "portType": "TCP", + "portNumber": 22 + }, + { + "createDate": -62135596800000, + "updateDate": -62135596800000, + "services": [{ + "createDate": -62135596800000, + "updateDate": -62135596800000, + "portType": "TCP", + "serviceName": "HTTP" + }], + "portType": "TCP", + "portNumber": 3343 + }, + { + "createDate": -62135596800000, + "updateDate": -62135596800000, + "services": [{ + "createDate": -62135596800000, + "updateDate": -62135596800000, + "portType": "TCP", + "serviceName": "HTTP" + }], + "portType": "TCP", + "portNumber": 443 + }], + "createDate": 1498470178000, + "updateDate": 1498470178000 +}, +{ + "firstScanRange": 1, + "lastScanRange": 10000, + "name": "", + "ip": 3232235877, + "mac": 75361038758387, + "os": "Windows", + "ports": null, + "createDate": 1498470179000, + "updateDate": 1498470179000 +} ] \ No newline at end of file