250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- MySQL
- Chunk
- 퀵소트
- spring
- update
- log_bin
- try catch
- Regular expression
- Effective Java
- current_date
- Node
- nodejs
- REACT
- 정규표현식
- upgrade
- git
- spring cloud
- expire_logs_days
- Spring Batch
- log4j2
- REACTJS
- mysql 5.5
- npm
- JavaScript
- migration
- Express
- regex
- eslint
- java
- Effective Java 3/e
Archives
- Today
- Total
내 세상
[NodeJS][NPM] pingus package 사용법 본문
728x90
반응형
NodeJS 환경에서 Ping을 날리기 위한 방법.
pingus package를 사용해보고자 한다!
https://github.com/wnynya/Pingus
// TCP Ping to localhost:22
import pingus from 'pingus'; // ESM, Typescript
const pingus = require('pingus'); // CJS
pingus.tcp({ host: 'localhost', port: 22 }).then(console.log);
ping의 결과에 따라 banner/status 등에 대한 값이 달라짐. github에서는 확인이 어렵고, 내부 코드를 통해 확인함.
TCP Socket on | Result 값 변화 | Result Example |
connect | ip : 연결 주소 time : 연결 소요 시간 |
{ type: 'ping/tcp', status: 'filtered', host: '12.34.13.44', ip: IP { label: '12.34.13.44' }, ips: [ IP { label: '12.34.13.44' } ], time: 2000, port: 22, name: 'ssh', banner: '' } |
data | banner: SSH 관련 정보 | { type: 'ping/tcp', status: 'open', host: '1.1.9.2', ip: IP { label: '1.1.9.2' }, ips: [ IP { label: '1.1.9.2' } ], time: 1, port: 22, name: 'ssh', banner: 'SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.6' } |
close | name: banner에 따라 SSH/FTP/MySQL 등으로 채워짐 | |
timeout | time: 연결 소요 시간 status: filtered |
|
error | error.code가 ECONNREFUSED인 경우 status: close error.code가 ECONNRESET인 경우 status: reset 그 외의 경우 status: error |
- ESM (ES Modules)
- 자바스크립트의 공식적인 모듈시스템
- import 는 비동기식으로 실행됨.
- 먼저 가져온 스크립트를 실행하는 게 아니라 import 구문을 찾아서 스크립트를 파싱함.
- 더 이상 import 할 스크립트가 없을 때 까지 import를 찾은 뒤 의존성 그래프를 생성함.
- 파일을 불러오는 동안 메인 스레드를 차단하지 않음.
- CJS (Common JS)
- 비공식 모듈 시스템
- require() 는 동기식으로 실행됨. promise나 callback을 반환하지 않음.
- 네트워크 혹은 저장매체체로부터 읽어오는 즉시 스크립트를 실행함.
- 파일을 불러오는 동안 메인 스레드를 차단함.
cf) 참고 사이트: https://velog.io/@wejaan/webpack-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0
728x90
반응형
'Technical > NodeJS' 카테고리의 다른 글
[NodeJS] CentOS 7 환경 NodeJS Offline 설치 (0) | 2024.02.16 |
---|---|
Eslint & Prettier 참고사이트 (0) | 2024.01.18 |
[NodeJS] NodeJS Package들을 최신 버전으로 업데이트 하기 (0) | 2022.06.24 |
[NodeJS] NodeJS 버전 Upgrade 방법 (Linux / Windows) (0) | 2022.06.24 |
[NodeJS] KafkaJS 사용 방법 - Consumer 편 (0) | 2021.12.23 |