Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

How do I get the first open port in a range?

Abierto
#822 0 comentarios 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
42/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
rust

Línea de trabajo

Reproduce el comando de RustScan con --range y head -1, y luego sigue el procesamiento de la salida de la CLI que produce el panic de tubería rota. Compáralo con el modo greppable y define que el trabajo está terminado al encontrar el primer puerto abierto sin abortar ni esperar al rango completo.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hi, I'm trying to understand how I can implement the below idiom:
rustscan --ulimit 5000 --no-banner -a $TARGET --range 10000-65535 --scripts none | head -1

Specifically, I know my target has 1 port open in the range and I'd like to quit scanning when that is found.

Currently it leads to an abort:

[~] Automatically increasing ulimit value to 5000.

thread 'main' panicked at library/std/src/io/stdio.rs:1123:9:
failed printing to stdout: Broken pipe (os error 32)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Is that expected? Is there a nicer way to implement this?

I've tried greppable mode but that only gets me the list of ports at the very end, so in my case on average 2x slower than it would be if it would display the ports live. (E.g. rather than printing when it finds open port 34567 it will only print after it reaches 65535.)

Lenguaje dominante
Rust
Estrellas
20.5k
Forks
1.4k
Merge medio
3 d 19 h
PR fusionados (30 d)
16

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de bee-san/RustScan

Todos los issues de bee-san/RustScan

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.